[script php-mysql] afficher prenom like A%

Résolu
aurus1212 -  
 aurus1212 -
Voila j'ai une base de donnée avec une table ou ya des information sur des personnes..
et je veux les trier par ordre alphabétique

perso.php --> Lien vers lettre_perso.php?lettre=A ou B ou C .....
lettre_perso.php--> Affiche tout les noms qui commence par A

Exemple:
Donnée: Ma Table = personnage ||| le champ = prenom

mon script :

<?php
$lettre = $_GET['lettre'];
$base = Mysql_connect("", "", "");
Mysql_select_db ('naruto', $base);
$sql = 'SELECT * FROM personnage WHERE prenom LIKE ''.$lettre.'%' ';
$req = mysql_query($sql) or die ('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error());

while ($data = mysql_fetch_array($req))
{
?>
<p><a href="choix_perso.php?nom=<?php echo $data['prenom']; ?>"><?php echo $data['prenom'];?></a></p>
<?php
}
mysql_free_result ($req);
mysql_close ();
?>

Question :

sa m'affiche un erreur et j'ai bo chercher je ne la trouve pas :S pourriez vous m'aidez

Merci d'avance au future répondeur :D

16 réponses

  1. aurus1212
     
    Oui merci Beaucoup pour ton aide j'ai juste un autre soucis :S

    je dois trier que le prenom commence par S mais je dois prendre aussi la valeur du champ nom

    donc je voudrais que sa m'affiche

    Prénom Nom ---> mais que le Like 'S%' ne fasse effet que sur le prénom :S
    1
  2. DasSium95 Messages postés 741 Statut Membre 135
     
    Bonjour,
    il y a un problème en tre tes ' et tes " ici: ''.$lettre.'%' '
    0
  3. aurus1212
     
    bas la donnée du like dois se tenir entres des crochet --> LIKE ''

    après je dois faire une concaténisation de la variable $lettre et après je dois rajouter le % pour dire que je veux la lettre suivit de tout les caractère possible..

    donc sa fais

    '.. LIKE ' ' . . '% ' '

    il faut aussi rajouter les ' ' des la requêt mysql :S
    0
  4. DasSium95 Messages postés 741 Statut Membre 135
     
    j'aurais plutôt vu ça comme ça
    ''.$lettre.'%' " ';
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. DasSium95 Messages postés 741 Statut Membre 135
     
    1x"
    0
  7. aurus1212
     
    je pensais aussi
    prendre la variable lettre et faire une variable ou il y aurais le % dedans

    Genre

    $lettre = $_GET['lettre'];
    $rechlettre = ' ' . $lettre . ' % ';

    et mettre $rechlettre dans LIKE sans devoir se casser la tête ?

    est ce que mon idée parrais bonne ?
    0
  8. DasSium95 Messages postés 741 Statut Membre 135
     
    Je ne sais si ce genre de concaténation marche mais essai
    0
  9. aurus1212
     
    :S

    Ya plus d'erreur mais sa m'affiche sa ....
    ______________________________________________

    Erreur SQL !
    SELECT * FROM personnage WHERE prenom LIKE S%
    Erreur de syntaxe près de '%'

    _____________________________________________

    LIKE ' . $rechlettre . '

    Sa s'utilise bien comme sa le LIKE non?
    0
  10. DasSium95 Messages postés 741 Statut Membre 135
     
    je comprend pas LIKE S%
    0
  11. aurus1212
     
    Bah sa sélection la valeur (le prénom) qui a S suivi d'autre caractére

    donc sa sélectionne le prenom qui commence par S
    0
  12. DasSium95 Messages postés 741 Statut Membre 135
     
    oui normalement c'est bien LIKE 'S%'
    0
  13. aurus1212
     
    xD comme quoi deux petite caractère peuvent nous prendre des heures et des heures ...

    se n'ai pas LIKE ' . $variable . '

    Mais LIKE " ' . $variable . ' "

    Le Like c'est Like "" et pas Like ' '
    0
  14. DasSium95 Messages postés 741 Statut Membre 135
     
    c'est ce que j'avais dis un problème de guillemet^^ toujours les mêmes problèmes
    0
  15. DasSium95 Messages postés 741 Statut Membre 135
     
    bah c'est bon comme tu l'as écrit le like ne prend effet que sur le prénom et non sur le nom
    0
  16. aurus1212
     
    Super sa marche bien :D en tout que a merci beaucoup

    je peux enfin mettre se topic résolus xD YEEESS
    0