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
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.
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); ?>
Partager