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

Langage PHP Discussion :

[Tableaux] Affichage et classement des donn�es MySql en HTML avec PHP


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    27
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 27
    Par d�faut [Tableaux] Affichage et classement des donn�es MySql en HTML avec PHP
    Bonjour je souhaiterais faire un script pour afficher des donn�es issues d'une table MySql mais je bloque sur le r�sultat renvoy� par les requ�tes et l'algorithme
    en php. Voici en gros comment se pr�sente la table (L'aspect relationnel n'est pas propos� chez l'h�bergeur)
    Table pages
    ########################################
    id Cat�gorie # url de la page
    0 A # page1.html
    1 A # page2.html
    2 A # page3.html
    3 B # page4.html
    4 B # page5.html
    5 C # page6.html
    6 C # page7.html
    7 C # page8.html
    #########################################
    Je souhaite dans une page html afficher d'abord la cat�gorie puis la liste des url des pages lui appartenant exemple

    Cat�gorie A
    page1.html
    page2.html
    page3.html

    Cat�gorie B
    page4.html
    page5.html

    Dans chaque cat�gorie mentionn�e on aura la liste des pages s'y rapportant
    Pour cela j'ai �labor� le script suivant
    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
     
    <?
    $link = mysql_connect("server_url","db","pwd") or die ("Impossible de se connecter");
    mysql_select_db ("db") or die ("Impossible d'accéder à la base de données");
    $query="SELECT DISTINCT catégorie FROM pages ORDER BY catégorie";
    #Chaque enregistrement est unique ne souhaite l'avoir qu'une fois sur la page html
    $result=mysql_query($query);
    $val=mysql_fetch_array($result);
    $query1="SELECT * FROM `pages` WHERE `Catégorie` = '$val[catégorie]'";
    # cette requête retourne la liste des url de pages appartenant à la catégorie , obtenue avec la 1ère requête 
    $result1=mysql_query($query1);
    $val1=mysql_fetch_array($result1);
    while ($val=mysql_fetch_array($result)) {
    echo "<hr>";
    echo $val["catégorie"] ;
    #on affiche les catégories et on saute des lignes, ça, ça marche 
    while ($val1=mysql_fetch_array($result1)){
    #là on récupère les données répondant à la valeur obtenue avec la requete1 et la boucle imbriquée se charge de les afficher avec retour à la ligne 
    echo $val1["url de la page"] ;
    echo "<br>";
    }
    echo "<br><br>";
    }
    mysql_free_result($result);
    mysql_close($link);
    ?>
    Le probl�me est que je n'obtiens qu'un enregistrement d'url de page apr�s l'affichage de la 1�re cat�gorie . Pouvez vous me dire ce que je peux faire pour r�gler le probl�me? Adopter une autre syntaxe un autre code changer la requ�te? Merci d'avance de votre r�ponse.

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    D�tails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par d�faut
    Salut, tu as un probl�me avec tes boucles.
    Je te propose �a (pas test�) :

    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
    <?
    $link = mysql_connect("server_url","db","pwd") or die ("Impossible de se connecter");
    mysql_select_db ("db") or die ("Impossible d'accéder à la base de données");
     
    $queryCategorie = "SELECT DISTINCT catégorie FROM pages ORDER BY catégorie";
    $resCategorie = mysql_query($queryCategorie);
     
    while($valCategorie = mysql_fetch_array($result1))
    {
       echo "<hr>";
       echo $valCategorie ['catégorie'] ;
     
       $queryPages="SELECT * FROM `pages` WHERE `Catégorie` = '$valCategorie[catégorie]'";
       $resPages = mysql_query($queryPages);
     
       while($valPages=mysql_fetch_array($resPages))
       {
          echo $valPages["url de la page"] ;
          echo "<br>";
       }
       echo "<br><br>";
    }
    PS : les accents dans les noms de champs c'est mal, les espaces c'est tr�s mal...

Discussions similaires

  1. [MySQL] Affichage par php des donn�es mysql dans un tableau html
    Par JDP91 dans le forum PHP & Base de donn�es
    R�ponses: 7
    Dernier message: 17/05/2015, 09h10
  2. Affichage des donn�es Mysql
    Par mizow dans le forum Interfaces Graphiques en Java
    R�ponses: 1
    Dernier message: 24/04/2012, 12h23
  3. [MySQL] affichage des donn�es dans un tableau avec mysql et php
    Par fofina dans le forum PHP & Base de donn�es
    R�ponses: 4
    Dernier message: 19/10/2007, 14h00
  4. R�ponses: 4
    Dernier message: 05/12/2006, 20h13
  5. Envoyer des donn�es mysql vers Excel
    Par thierry198 dans le forum SQL Proc�dural
    R�ponses: 4
    Dernier message: 09/11/2005, 19h59

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