par
yaug » 16 avr. 2009, 10:41
*Inspire un grand coup*
Bon..
On va reprendre.
Déjà, cela n'a rien à faire dans la section PHP Avancé mais trouveras sa place dans la section débutant.
Ensuite, merci pour ce début d'effort de présentation du problème, mais j'aurais préféré ceci :
==============================================================
Démonstration de comment demander de l'aide pour les nuls (Aux éditions Eyrolles)
Bonjour, je chercher à obtenir un affichage comme ceci:
----------- CHAMP1 ----- CHAMP2 ----- CHAMP3
tuple1 ------ val1-----------val2-----------val3---
tuple2 ------ val4-----------val5-----------val6---
tuple3 ------ val7-----------val8-----------val9---
Comment obtenir un tel affichage en exploitant plusieurs résultats de ma base de donnée ?
==============================================================
Ce à quoi je pourrais répondre :
Bonjour.
Merci pour ces explications clair de ton problème.
Voici ce que je te propose :
$html = "<table>";
$field_listed = false;
$fields = array();
//On fait la requête
$result = mysql_query("ta requete");
//On boucle sur les résutats
while($row = mysql_fetch_assoc($result))
{
//Si on a pas encore construit la liste des champs, on le fait
if(!$field_listed)
{
//On liste tous les champs retournés
$fields = array_keys($row);
//On affiche la liste des champs
$html .= '<tr>';
foreach($fields as $k => $field)
$html .= '<th>'.$field.'</th>';
$html .= '</tr>';
//On flag a true pour ne plus rentrer dans cette condition lors de la prochaine boucle
$field_listed = true;
}
// On affiche le contenu du tuple courant
$html .= '<tr>';
foreach($fields as $k => $field)
{
$html .= '<td>'.$row[$field].'</td>';
}
$html .= '</tr>';
}
$html .= "</table>";
Ta variable $html contient donc un tableau (au sens html du terme) dont la première ligne est composée des champs et toutes les lignes suivantes des valeurs associées à ces champs.
En affichant $html tu obtiendras quelque chose du genre
Code : Tout sélectionner
<table>
<tr>
<th>Champ1</th>
<th>Champ2</th>
<th>Champ3</th>
</tr>
<tr>
<td>val1</td>
<td>val2</td>
<td>val3</td>
</tr>
<tr>
<td>val4</td>
<td>val5</td>
<td>val6</td>
</tr>
<tr>
<td>val7</td>
<td>val8</td>
<td>val9</td>
</tr>
</table>