Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
Pour rester sur le même script, celui-ci lit la base de données (3 tables en jointure ) et affiche le résultat dans un tableau (table infos réunis les infos ou sorties, table membres réunis les membres, inscr_sortie sert à liéer les infos aux membres avec les inscriptions):
Pour l'affichage du même "titre" et "texte", je peux avoir plusieurs "nom,prenom".
Là, si j'ai un deuxième "nom,prenom" pour le même "titre" et "texte", je réaffiche les titre et texte une deuxième fois.
Je voudrais que tous les "nom,prenom" pour le même titre et texte s'affiche dans le même <td>.
Comment faire ?
Merci
Hors ligne
Ce sujet aborde le même problème. J'y propose une solution : http://forum.phpdebutant.org/viewtopic.php?id=5242
Hors ligne
Ce sujet aborde le même problème. J'y propose une solution : http://forum.phpdebutant.org/viewtopic.php?id=5242
Merci xTG, mais je ne vois pas trop le rapport avec mon souci, ni comment m'en servir !
Je pensais plutôt à une boucle, dans la boucle déjà existante !!!!
Dernière modification par t14 (16-02-2010 16:32:19)
Hors ligne
C'est exactement le même problème qui avait été posé.
Sauf qu'au lieu de titre/texte il avait un titre de catégorie et que pour chaque nom/prénom il avait un titre de sous catégorie.
Le but dans la méthode est d'afficher ton titre et ton texte mais ce une seule fois. Il faut donc passer par un tableau (ou une variable si un seul élément) pour pouvoir par la suite savoir si on a déjà affiché le contenu ou non.
Hors ligne
OK ! J'ai pris exemple, mais ça marche pô ....:(
Faut dire qu'il y a certaines choses que je n'ai pas vraiment compris, et j'ai fait cela pour tester :
$tabFlagTitre = array();
while( $item = mysql_fetch_array($result) )
{
//Si la rubrique n'a jamais été affichée on l'affiche et on passe le flag à 1
if( !isset($tabFlagTitre[$item['infos.titre']]) )
{
$tabFlagTitre[$item['infos.titre']] = 1;
echo $item['infos.titre'];
}
echo '<tr>';
echo '<td>'.$row['jour'].'/'.$row['mois'].'/'.$row['an'].'</td>';
echo '<td>'.$row['titre'].'</td>';
echo '<td>'.$row['texte'].'</td>';
echo '<td>'.$row['nom'].' '.$row['prenom'].'</td>';
echo '</tr>';
Sinon, comment récupérer la valeur de $row['titre'] ? Suffirait de la mettre dans une variable, et de la tester à chaque passage.
Si elle ne change pas, je boucle sur "echo '<td>'.$row['nom'].' '.$row['prenom'].'</td>';" , sinon j'affiche le titre suivant.
Hors ligne
Ton raisonnement pour la variable peut être appliqué. Cela revient au même que le flag. Mais plus optimal car tu n'utilises qu'une variable au lieu d'un tableau.
Donc si tu n'as pas de "stats" à faire après l'affichage concernant ce que tu as affiché une seule variable suffirait pour ton cas.
Concernant ce qui ne marche pas pourrais-tu être plus précis ? Je n'ai pas amené ma boule de cristal aujourd'hui. ^^
Pour finir j'aimerai apporter ton attention sur tes noms d'attributs. Des fois tu utilises infos.attribut et des fois seulement attribut. Il y a forcement l'un qui n'affichera rien...
Commence par remplacer l'étoile dans ton select pour savoir ce que tu récupères et tu ne t'embrouilleras que moins.
Hors ligne
Pages :: 1