[php] imbrication 2 boucles

Fermé
ediurne Messages postés 2 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 20 juillet 2007 - 20 juil. 2007 à 14:36
 ed - 22 juil. 2007 à 12:03
Bonjour,
Je cherche à faire une boucle dans une boucle mais j'ai un pb de syntaxe.
Je souhaiterais afficher le titre de la rubrique une seule fois et en dessous les noms
cad

Légumes
-- Carottes
-- chou
-- Navet

Fruits
-- Poire
-- Pommes
-- ...

Mais à ce jour, je ne parviens qu'à imprimer
Légumes --Carottes
Légumes -- Chou
Légumes -- Navet
Fruits -- Poires
Fruits -- Pommes

Voici mon code.
<h4>AUTRES LIENS</h4>

<?php
//la boucle d'affichage de la rubrique est ici -----------
//--------------------------------------------------------

while ($aLien = mysql_fetch_array($resLien)){?>

<?php//la rubrique est là ---------------------------------?>
<?php echo $aLien['rub']; ?>
<?php//le lien est là ---------------------------------?>
<a href="<?php echo $aLien['linkLien']; ?>"><?php echo $aLien['nomLien']; ?></a><br>
<?php

}
// Fin de la boucle des noms.
//-------------------------------------------------------------------------
?>

QQun peut-il m'aider ?
Merci
ed
A voir également:

2 réponses

Le plus logique aurait été d'avoir une table avec les catégories de liens, et une autre avec les liens dans ta base de données, mais apparement tout est dans la meme table (mais je ne voit pas ta requete sql)

Ceci dit ça marchera très bien comme ça.
ce qu'il faut c'est un test qui n'affiche la catégorie que quand elle a a changée,
comme dans le code ci-dessous.

ps 1 : j'ai viré queques tags php pas très utiles ;)
ps 2 : le signe "<?=variable?>" est similaire a "<? echo variable?>"

<?php

//la boucle d'affichage de la rubrique est ici -----------
//--------------------------------------------------------

while ($aLien = mysql_fetch_array($resLien)){?>

//la rubrique est là --------------------------------
if ($aLien['rub'] != $ancienne_rubrique) {
echo $aLien['rub'];
$ancienne_rubrique = $aLien['rub'];
}

//le lien est là ---------------------------------
?>
<a href="<?=$aLien['linkLien']; ?>"><?=$aLien['nomLien']; ?></a><br>
<?php
}
// Fin de la boucle des noms.
//-------------------------------------------------------------------------
?>
1
ediurne Messages postés 2 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 20 juillet 2007
20 juil. 2007 à 17:42
Merci ! C'est exactement ce dont j'avais besoin.
J'ai bien deux tables, une pour les rubriques et une pour les liens.
Mais je fais ma jointure en haut de mon fichier par idRub.

$reqLien = "SELECT *
FROM liens l, rubriques r
WHERE r.idRub = l.idRub
ORDER BY r.idRub";
$resLien = mysql_query($reqLien)or die(mysql_error());

Je navais pas donné tous les éléments alors encore plus merci.
Cordialement
ed

psEt merci pour les ps. Comme je débute, je prends tous les conseils.
0
Bonjour,
Tout ceci fonctionne très bien. Sauf que j'ai une différence entre firefox et ie (je suis sur ie6).
En effet, sur ie, la ligne rubrique est répétée mais vide...
qq un aurait il une idée pour arranger cela ?
merci d'avance
ed
0
[resolu]
Merci de m'avoir lu.
J'ai créé une table et cela fonctionne parfaitement.
ed
0