PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 26-01-2010 17:28:55

debe
Membre
Inscription : 25-06-2009
Messages : 87

afficher une seul fois un des champs

bonjour,
j'ai une base avec un champ rubrique et un champ titre. une même rubrique peut avoir plusieurs titre.

par exemple
rubrique_1==> mon_titre_1
rubrique_1==> mon_titre_2
rubrique_2==> mon_titre_3
rubrique_2==> mon_titre_4
etc...

je voudrais les afficher comme cela
rubrique_1 :
mon_titre_1
mon_titre_2
etc...

je sais faire
echo "les titre de la rubrique_1"
$sql="select titre from mabase where rubrique ='rubrique_1';
j'affiche les titre 1

puis je recommence pour 2 etc...

mais c'est long, lourd et fastidieux. je dois sans doute pouvoir faire plus simple
du genre un echo apres une seule requete qui afficherait qu'une seule fois la rubrique 1 avec titre correspondant en dessous puis une seul fois la rubrique 2 etc....

Hors ligne

#2 26-01-2010 21:04:10

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : afficher une seul fois un des champs

Ta table est vraiment mal pensée je trouve.
Bon tentons tout de même de réfléchir dessus...

Tu peux utiliser un tableau de flag (drapeau) afin de statuer sur le fait que tu as affiché ou non le nom de la rubrique.

$sql = ... //la requête
$tabFlagRubrique = array();
while( $item = mysql_fetch_array($sql) )
{
  //Si la rubrique n'a jamais été affichée on l'affiche et on passe le flag à 1
  if( !isSet($tabFlagRubrique[$item['nom_rubrique']]) )
  {
      $tabFlagRubrique[$item['nom_rubrique']] = 1;
      echo $item['nom_rubrique'];
  }
  //Affichage du titre
  echo $item['mon_titre'];
}

Hors ligne

#3 27-01-2010 09:29:02

debe
Membre
Inscription : 25-06-2009
Messages : 87

Re : afficher une seul fois un des champs

merci pour ce code qui fonctionne  ... et que j'ai compris en plus ;-)

quand tu dis que ma base est mal pensée, comment aurais-je pu faire autrement ?
le principe est une revue de presse. j'ai un champ date, un autre rubrique, un autre titre, un autre url.

j'ai le même soucis sur une autre page qui affiche des comptes rendu de réunion
j'ai
id|date de la réunion| type de réunion (ca, bureau, assemblé générale) |titre du compte rendu | nom du pdf

l'affichage se fait sous forme
compte rendu de CA
compte rendu1
compte rendu2
etc...

Hors ligne

#4 27-01-2010 11:37:57

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : afficher une seul fois un des champs

Je trouve cela mal pensé car j'aurai exporté les rubriques dans une autre table.
Les rubriques sont censées être fixes et ne pas être modifiées/ajoutées/supprimées à chaque ajout de contenu.
Tel que tu le représente l'utilisateur pourrait se tromper dans la saisie de la rubrique et en créer une nouvelle qui ressemblerait à un autre mais avec une lettre mal tapée ou autre.

Hors ligne

#5 27-01-2010 12:01:53

debe
Membre
Inscription : 25-06-2009
Messages : 87

Re : afficher une seul fois un des champs

en fait, c'est effectivement simplifié ce que j'ai posté

en réel, par exemple, le type de réunion est dans une base à part et dans ma base principale, la personne remplit un déroulant qui envoie le numéro du type.
mais le poblème reste le même, j'ai ma requete avec inner join qui me renvoie type.nom_type,cpte_rendu.pdf par exemple et je dois afficher qu'un seul type

Hors ligne

Pied de page des forums