boucle while

WRInaute impliqué
Bonjour,

Débutant en en php4, je voudrais savoir il est possible de séparer le programme de la vue avec du code lié à la boucle while, et donc comment le faire,
Cela afin donc de séparer le programme du contenu et surtout de pouvoir reprendre les données à des endroits différents de ma page

ex classique ci-dessous;
Code:
  // on scanne les tuples 
      while ($data = mysql_fetch_array($req, MYSQL_ASSOC)) { 

echo "<a href='http://$data[Url]'><b>$data[ville]</b></a><br>";
echo "<LI class=m> http://$data[Url]<br>";

}
      // on libere memoire 
      mysql_free_result ($req); 
   ...

Merci, de vos retours

ludo
 
WRInaute impliqué
Salut
tu peux faire comme suit :
Code:
$tab_url = array();
$tab_ville = array();
while ($data = mysql_fetch_array($req, MYSQL_ASSOC)) {
 echo "<a href='http://$data[Url]'><b>$data[ville]</b></a><br>";
 echo "<LI class=m> http://$data[Url]<br>";
 array_push($tab_url,$data[Url]);
 array_push($tab_ville,$data[ville]);
}
 // on libere memoire
 mysql_free_result ($req);
puis utiliser ces tableaux
Code:
foreach($tab_url as $url)
 echo $url;

foreach($tab_ville as $ville)
 echo $ville;
 
WRInaute impliqué
recup boucle while

narayana a dit:
Salut
tu peux faire comme suit :
Code:
$tab_url = array();
$tab_ville = array();
while ($data = mysql_fetch_array($req, MYSQL_ASSOC)) {
 echo "<a href='http://$data[Url]'><b>$data[ville]</b></a><br>";
 echo "<LI class=m> http://$data[Url]<br>";
 array_push($tab_url,$data[Url]);
 array_push($tab_ville,$data[ville]);
}
 // on libere memoire
 mysql_free_result ($req);
puis utiliser ces tableaux
Code:
foreach($tab_url as $url)
 echo $url;

foreach($tab_ville as $ville)
 echo $ville;


Le code et l'utilisation des tableaux ci-dessus, cela fonctionne tres bien, mais en fait ce que je voulais, c'est ne pas afficher a cet endroit la requete et reprendre sans dupliquer mais ailleurs:
echo " <LI class=y><a href='http://$data'><b>$data[ville]</b></a><br>"; ma...url'><b>$ville</b></a><br>"; [/code] ludo
 
WRInaute impliqué
je comprends mieux


Code:
$tab_data = array();
while ($data = mysql_fetch_array($req, MYSQL_ASSOC)) {
 $tab_temp = array($data[Url],$data[ville]);
 array_push($tab_data,$tab_temp);
}

et tu l'affiches quand tu veux par
Code:
foreach($tab_data as $tab)
{
 echo "<a href='http://$tab[0]'><b>$tab[1]</b></a><br>";
 echo "<LI class=m> http://$tab[0]<br>"; 
}
 
Discussions similaires
Haut