Page 1 sur 1
affichage des données d'une table dans dun tableau
Posté : 17 nov. 2010, 22:31
par hiker
Bonsoir je revient vers vous vous poser le problème le même il y'a une semaine
J'ai un tableau qui contient 3 champ je voudrais savoir comment faire pour afficher un champ en fonction des autres
Re: affichage des données d'une table dans dun tableau
Posté : 17 nov. 2010, 22:54
par AB
C'est pour faire quoi, des listes liées ?
Si oui tu as un
tuto ici
Re: affichage des données d'une table dans dun tableau
Posté : 17 nov. 2010, 23:00
par hiker
j'ai lu les tuto pour arriver à ça
Code : Tout sélectionner
$database->requete("select nom_phar, groupe, id_phar AS mongroupe from PHARMACIES order by groupe");
$data=mysql_fetch_array($database->requete);
if(( $data = mysql_fetch_array($database->requete))!= NULL)
{
echo '<table bgcolor="#FFFFFF" width="650px">'."\n";
echo'<hr align="left" width="64%" color="red" size="1">';
echo'<h4>Liste des pharmacies</h4>';
do
{
echo '<tr height="25" id="legend">';
echo '<td align="center"><b> </b></td>';
echo '<td align="center"><b>'.$data['groupe'].'</b></td>';
$test=$data['mongroupe'];
echo '</tr>'."\n";
//$db = mysql_connect('localhost', 'root', '');
$database2->requete("select nom_phar, groupe, id_phar from PHARMACIES where groupe='$test'");
$dat = mysql_fetch_array($database2->requete);
if(( $dat= mysql_fetch_array($database2->requete))!= NULL){
do
{
echo '<tr>';
echo '<td bgcolor="#f3fbff" height="25" align="center"> '.$dat['nom_phar'].'</td>';
echo'</tr>'."\n";
}while(($dat = mysql_fetch_array($database2->requete))!= NULL);
}
}while(($data = mysql_fetch_array($database->requete))!= NULL);
echo '</table>';
//echo"$test";
}
mais il m'affiche un seul groupe
Code : Tout sélectionner
+----------+---------+---------+
| nom_phar | groupe | id_phar |
+----------+---------+---------+
| soudia | groupe1 | 27 |
| police | esai | 28 |
+----------+---------+---------+
La structure de ma table
Re: affichage des données d'une table dans dun tableau
Posté : 18 nov. 2010, 12:42
par Mazarini
Bonjour,
Tu fais les lectures par 2 :
$dat = mysql_fetch_array($database2->requete);
if(( $dat= mysql_fetch_array($database2->requete))!= NULL){
voir 3 avec la clause while.
Chaque fois que tu fais un mysql_fetch_array, tu consommes une ligne
Remplaces les do {...} while par de while ($X = $dat= mysql_fetch_array(...))!= NULL)() {...}
Le mieux serait de faire une seule boucle :
$ancien_groupe = "";
$premier = true;
affichage entete générale
while($dat = mysql_fetch_array())
{
if $dat["groupe"] <> $ancien_groupe {
if not premier affichage pied groupe et $premier = false
affichage entete groupe
$ancien_groupe = $dat["groupe"]
}
affichage de la ligne
}
if not premier affichage pied groupe
affichage pied général