Affichage de liens classés par catégorie
Salut tout le monde,
je voudrais afficher des liens sur une page, mais classés par catégorie.J'ai créé 2 tables: lien et catégorie_lien avec une jointure.Mais comment faire une boucle pour afficher d'abord la catégorie puis tous les liens qui correspondent, ensuite l'autre catégorie et ses liens etc...
Concretement je veux afficher:
catégorie: Jeunes:
lien 1
lien 2 ....
catégorie: Infos:
lien 1
lien 2 .....
Je pense qu'il faut que tu face 2 requetes.
// 1ere requete
$req1 = mysql_query("SELECT idcategorie,nom FROM CATEGORIE");
while($categorie = mysql_fetch_assoc($req)){
AFFICHAGES DES CATEGORIES
// 2eme requete
$req2 = mysql_query("SELECT nom FROM lien WHERE idcategorie = '".$categorie["idcategorie"]."'");
while($lien = mysql_fetch_assoc($req2)){
AFFICHAGE DES LIENS
} // fin boucle 2eme requete
} // fin boucle 1ere requete
C'est comme ca que je ferais ! Mais je ne suis pas un pro en PHP, peut etre y a t'il une meilleure solution !
Nuff respect.
pourquoi cherche compliqué quand on peut faire simple.Ca marche impec. Merci very much :D :D
Reste dans les parages j'aurais surement besoin de toi after mdr
C'est pas parce que ca marche que c'est bien.
Si tu as 10 catégories qui ont x sous catégories chacune, tu vas faire 11 requetes SQL sur une seule page alors que tout peut se faire en une seule requete SQL.
<?php
$sql = "SELECT categorie.idcategorie, categorie.nom, lien.lien FROM categorie, lien WHERE lien.idcategorie = categorie.idcategorie ORDER BY categorie.idcategorie ASC, lien.idcategorie ASC";
$req = mysql_query($sql) or die ($sql.' '.mysql_error());
$temp = '';
while ($data = mysql_fetch_array($req)) {
if ($temp != $data['idcategorie']) {
echo 'Catégorie : '.$data['nom'].'';
$temp = $data['idcategorie'];
}
echo 'Lien : '.$data['lien'].'';
}
mysql_free_result($req);
?>
Merci LA GLOBULE pour ta réponse !
Je savais bien qu'il y avait une meilleure solution :D
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: