IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] Navigation alphabétique


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de gantec
    Inscrit en
    Février 2007
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 225
    Points : 89
    Points
    89
    Par défaut [SQL] Navigation alphabétique
    Bonjour,

    J'ai un probleme avec mon code de navigation alphabétique....comment faire pour que lorsqu'on clic sur le lien qui ouvre la page avec cette navigation, il y est déjà tout qui soit affiché ?

    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <?php 	  
    ob_start();
     
    echo "<font class='legend'>Veuillez s&eacute;l&eacute;ctionner la lettre correspondante au métier souhait&eacute;</font><br><br><br>";
     
    //------------------------------------------------------------------------------------|
    //-----------TRAVAIL SUR L'AFFICHAGE DES LETTRES DISPONIBLES DANS LA BD---------------|
    //------------------------------------------------------------------------------------|
    $lettre = $_GET['lettre'];
     
    $sql = "SELECT DISTINCT SUBSTRING(titre,1,1) AS gantec FROM pages WHERE idCat=498 ORDER BY titre;";
    $query = mysql_query($sql);
     
    echo "<font face='Verdana'><table border='0' align='center'><tr>";
     
    while($row = mysql_fetch_array($query)) 
    	{
        echo "<td width='30' align='center'><a href='alphazoom.php?lettre=".$row['gantec']."'>".$row['gantec']."</a></td>";
    	}	
    echo "</tr></table><br><p align='center'><font class='legend'>Pour tout afficher, cliquez <a href='alphazoom.php?lettre=''' class='lien'>ici</a></font></p>";
    if ($lettre == "")
    {
    echo "<p align='center'><font class='legend'>La lettre que vous avez choisie est : <font class='legend'><i><font color='#ff0000'>tout afficher</font></i></font></font></p><br/></br>";
    }
    else
    {
    echo "<p align='center'><font class='legend'>La lettre que vous avez choisie est : <font color='#ff0000'>" . $lettre . "</font></font></p><br/></br>";
    }
     
    //------------------------------------------------------------------------------------|
    //-------------------------------------------------------------------------------------------------------------------|
    //-----------------------------------TRAVAIL SUR L'AFFICHAGE DES NOMS PAR LETTRE-------------------------------------|
    //-------------------------------------------------------------------------------------------------------------------|
    if (isset($_GET['lettre'])) //test si la variable est définie
    {
    $sql_aff = "SELECT titre, description, idCat, path FROM pages WHERE titre LIKE '". $lettre . "%' AND idCat='498' ORDER BY titre;";//requête SQL pour ce qui dois etre affiché dans le tableau
     
    //echo "La requete pour récupérer les liens est : " . $sql_aff . "<br/>";
    $query_aff = mysql_query($sql_aff);
     
    while($row_aff= mysql_fetch_array($query_aff)) //boucle while pour afficher toutes les informations trouvées avec la requête $SQL_AFF
    	{
    	echo "<table border='0' width='50%' style='border-width:1pt;border-style:solid;border-color:#142646;' align='center'><tr><td><font class='warning'><a href='".$row_aff['path']."'>".$row_aff['titre']."</a></font><br><br></td></tr><tr><td><font class='cat'>".$row_aff['description']."</font></td></tr></table><br>";
    	}
    echo "</font>";
     
    }
    ob_flush();//-|
    ?>
    merci pour votre aide..a+
    .:: GanTec ::.
    Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Bonjour,
    Elle ne fonctionne pas la requete $sql_aff ??
    Je n'ai pas trés bien compris ce que tu souhaites faire .

  3. #3
    Membre régulier Avatar de gantec
    Inscrit en
    Février 2007
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 225
    Points : 89
    Points
    89
    Par défaut
    admettons que la page où se trouve ma navigation alphabétique s'appelle ALPHA !!!
    enfaite, lorsque je clic sur ALPHA, ma requête n'est pas encore exécutée et donc il n'affiche rien...ce que je voudrais c'est que lorsque je clic sur le lien qui m'amène à la page ALPHA, il y est tout le contenu qui soit affiché !

    j'espère que c'est plus clair...
    .:: GanTec ::.
    Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 45
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    tu test :
    if (isset($_GET['lettre'])) //test si la variable est définie

    Hors au premier appel, il en l'est pas et donc tu ne passe pas dans la boucle de création de liste.

    il te faut un else a ton if pour définir une requete dans ce cas, par exemple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    if (isset($_GET['lettre'])) //test si la variable est définie
    {
    $sql_aff = "SELECT titre, description, idCat, path FROM pages WHERE titre LIKE '". $lettre . "%' AND idCat='498' ORDER BY titre;";//requête SQL pour ce qui dois etre affiché dans le tableau
     } else {
    $sql_aff = "SELECT titre, description, idCat, path FROM pages WHERE idCat='498' ORDER BY titre;";//requête SQL pour ce qui dois etre affiché dans le tableau
    };
     
    //echo "La requete pour récupérer les liens est : " . $sql_aff . "<br/>";
    $query_aff = mysql_query($sql_aff);
     
    while($row_aff= mysql_fetch_array($query_aff)) //boucle while pour afficher toutes les informations trouvées avec la requête $SQL_AFF
        {
        echo "<table border='0' width='50%' style='border-width:1pt;border-style:solid;border-color:#142646;' align='center'><tr><td><font class='warning'><a href='".$row_aff['path']."'>".$row_aff['titre']."</a></font><br><br></td></tr><tr><td><font class='cat'>".$row_aff['description']."</font></td></tr></table><br>";
        }
    echo "</font>";
     
    // } attention cette accolade ne sers plus dans mon exemple.
    En passant ton while devrai plutot ressembler a ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    echo '<table border="0" width="50%" style="border-width:1pt;border-style:solid;border-color:#142646;" align="center">'; // création du tableau
     
    while($row_aff= mysql_fetch_array($query_aff)) //boucle while pour afficher toutes les informations trouvées avec la requête $SQL_AFF
        {
        echo '<tr><td><font class="warning"><a href="'.$row_aff['path'].'">'.$row_aff['titre'].'</a></font><br><br></td></tr><tr><td><font class="cat">'.$row_aff['description'].'</font></td></tr>';
        }
    echo '</table><br>'; // fermeture du tableau

  5. #5
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Oubien tu appelles ta page ALPHA en cliquant sur un lien qui a déjà une lettre en paramètre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    href="ta_page_alpha.php?lettre=A"

  6. #6
    Membre régulier Avatar de gantec
    Inscrit en
    Février 2007
    Messages
    225
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 225
    Points : 89
    Points
    89
    Par défaut
    Merci beaucoup, ca fonctionne !!


    a+
    .:: GanTec ::.
    Quand on espère rien de rien et qu'on gagne le paquet, ça c'est le destin

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SQL NAVIGATOR=> tutoriel!?
    Par toutounesan dans le forum Débuter
    Réponses: 2
    Dernier message: 15/01/2014, 09h55
  2. SQL navigator 5
    Par opensource dans le forum SQL
    Réponses: 1
    Dernier message: 12/12/2007, 18h39
  3. SQL - Trier alphabétiquement
    Par Juho06 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 02/05/2007, 18h22
  4. [SQL] PB bouton de navigation de pages
    Par megapacman dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/05/2006, 13h11
  5. Réponses: 6
    Dernier message: 11/04/2006, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo