Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: Toutankharton le le 15-10-2004 a 19:26:01

Titre: Remplir une variable avec while
Posté par: Toutankharton le le 15-10-2004 a 19:26:01

Bon, je veux passer en revue les données de ma BDD, donc pas de prob je fais

while($list=mysql_fetch_array($req)) {
echo '...';
}

mais si jamais je veux mettre ces nouvelles données dans une variable (cf mon précédent post pour savoir pourquoi ^^) comme doit-je faire ? J'ai essayé mais ça ne me met dans la variable qu'un enregistrement...

Titre: Re:Remplir une variable avec while
Posté par: MFred le le 15-10-2004 a 19:33:11

Salut,

Un Array avec un cle incrémentée à chaque passage de la boucle ?

$cle=0;
$fetch=array();
while ($row=mysql_fetch_assoc($req)) {
$cle++;
$fetch[$cle]=$row['champ'];
}

Bonne chance !

Titre: Re:Remplir une variable avec while
Posté par: Toutankharton le le 15-10-2004 a 20:38:08

oula ! tu peux pas m'expliquer un peu ton code ? Parce ce que là je comprends pas trop... ???

Titre: Re:Remplir une variable avec while
Posté par: MFred le le 15-10-2004 a 20:51:20

Bien ! :)

$cle=0;
// Variable de type "entier" initialisée à 0

$fetch=array();
// Nouveau tableau que l'on laisse vide avant d'entrer dans la boucle

while ($row=mysql_fetch_assoc($req)) {
// L'équivalent de "while($list=mysql_fetch_array($req)) {"

$cle++;
// A chaque passage dans la boucle, la variable s'incrémente (+1)

$fetch[$cle]=$row['champ'];
// On entre la variable $row['champ'] dans une nouvelle ligne du tableau, qui aura pour clé le contenu de la variable $cle (1 lors du premier passage dans la boucle, 2 lors du second etc ...)

}

Au final, tu obtiens un tableau bâti de la manière suivante
1 => 'Contenu de la première ligne',
2 => 'Contenu de la seconde ligne'
...

Tu voulais bien avoir chacune de ces données dans une variable ou je suis passé à côté ? :-\

Titre: Re:Remplir une variable avec while
Posté par: Toutankharton le le 15-10-2004 a 21:01:23

à vrai dire, j'ai une table news, qui est à peu pres comme ça :

id date titre actu

ba je veux avoir ça :
<titre>$titre</titre>
<link>http://......./$titre.php
<description>$actu</description>

Mais 10 fois (pour dix actus differentes).

Titre: Re:Remplir une variable avec while
Posté par: MFred le le 15-10-2004 a 21:11:13

Ah ... donc on peut les mettre dans la même variable sans array :)
voila ce que tu peux faire :

$req=mysql_query('SELECT titre,actu FROM newsORDER BY date DESC');

$cle=0;
$toReturn='\n\r';
while ($row=mysql_fetch_assoc($req)) {
$toReturn.='<titre>'.$row['titre'].'</titre>\n';
$toReturn.='<link>http://...../'.$row['titre'].'.php</link>\n';
$toReturn.='<description>'.$row['actu'].'</description>\n\r';
}

A la fin de ce script, ce que tu veux est contenu dans la variable $toReturn :)

Bonne chance !

Titre: Re:Remplir une variable avec while
Posté par: Toutankharton le le 15-10-2004 a 21:13:38

yep ! merci beaucoup ça marche parfaitement !
Bonne soirée ;)


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.