[PHP] menu alphabet

Résolu
Yuushi_Sato Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'aimerais creer un menu alphabet en php avec du sql
genre [A] - [B] - [C] - ...[Z]
Comment faire pour que je liste sa avec le sql?
exemple: clic sur A affichage - artiste - album - atmospheres etc...
et seulement afficher le A ou seulement afficher le B etc...
Comment faire? J'ai besoin d'aide s'il vous plait
Configuration: Windows Vista
Firefox 3.5.7

9 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    $sql = 'SELECT * FROM table WHERE LEFT(nom,1) = "'.mysql_real_escape_string($_GET['lettre']).'"';
    1
  2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Ton menu de A à Z affiche toujours la même chose logiquement ?
    Alors pourquoi utiliser PHP, et pire, SQL ?!
    Si je comprends bien, tu veux faire une sorte de menu déroulant ?
    0
  3. Yuushi_Sato Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   1
     
    oui et non c'est pas vraiment un menu déroulant c'est que je veux faire comme une recherche alphabetique de ma base sql y'a deja + de 150 nom d'afficher et sa serais plus simple pour rechercher par lettre, mais je n'arrive pas a le faire.
    Peut tu s'il te plait me dire comment faire?
    0
  4. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Donc quand on clique sur un lien "[A]" par exemple, on voit tous les noms commençant par "A" ?
    Pour tes liens :
    <a href="page.php?lettre=a">[A]</a> <a href="page.php?lettre=b">[B]</a> <a href="page.php?lettre=c">[C]</a> ... <a href="page.php?lettre=z">[Z]</a>
    Et pour afficher les noms :
    <?php
    mysql_connect();
    mysql_select_db();
    
    $sql = 'SELECT * FROM table WHERE LEFT(nom,1) = "'.mysql_real_escape_char($_GET['lettre']).'"';
    $req = mysql_query($sql);
    
    while($ligne = mysql_fetch_assoc($req)) {
        echo $ligne['nom'].'<br />';
    }
    ?>
    0
    1. az4879
       
      Bonjour, dans ton code, à quoi correspond le $_GET['lettre'] ?

      Merci.
      0
      1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511 > az4879
         
        À la lettre passée dans l'url via un lien.
        Exemple : /index.php?lettre=a
        0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Yuushi_Sato Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   1
     
    sa m'affiche un message d'erreur
    Fatal error: Call to undefined function: mysql_real_escape_char()
    0
  7. Yuushi_Sato Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   1
     
    oki merci a toi sa marche
    0
  8. Yuushi_Sato Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   1
     
    peut t'on faire un rangement par titre genre A = affichage artiste et non pas comme ceci artiste affichage

    exemple : C comme commence comment
    un ORDER BY ne marche pas comment faire
    0
  9. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Normalement, si, un ORDER BY devrait fonctionner.
    Essaye avec cette requêtes SQL :
    $sql = 'SELECT * FROM table WHERE LEFT(nom,1) = "'.mysql_real_escape_string($_GET['lettre']).'" ORDER BY nom';
    0
  10. Yuushi_Sato Messages postés 100 Date d'inscription   Statut Membre Dernière intervention   1
     
    moi de meme j'avais mal taper le order by
    merci encore
    0