2e enregistrement dans 3e colonne, etc... sql php

Eléphant du PHP | 92 Messages

18 juil. 2011, 17:59

Bonjour,
J’ai un bd (fruit) qui contient une table (tb_detail) et 4 champs/colonnes :
fld_id int
fld_nom
fld_pepins
fld_diametres

Je veux afficher les résultats dans une table HTML et chaque enregistrement dans une colonne et chaque colonne a 4 lignes

x--------------x----------x------x
| Nom | pomme |pêche|
x-------------X-----------X-------x
|ID |1 |2 |
|Pépins |5 |1 |
|diamètres| 6 | 5 |
x-------------x-----------x------x
1er colonne : contient de « label » : Nom, Id, Pépins, Diamètres…
2e colonne c’est pour 1er enregistrement, 2e c’est pour 2e enregistrement, etc.
Avec mon code, je n’arrive pas mettre 2e enregistrement dans 3e colonne et 3e enregistrement dans 4e colonne, etc.
Comment je peux faire ? :?:

Voici mon code :
<table width="300" border="1" cellspacing="0" cellpadding="0">
<?php

	include"bd_db/selection_test.php";
 
	  		$req=  " select fld_id,fld_nom,fld_pepins,fld_diametres FROM $table_db  ";
	  		$rep =  mysql_query($req, $cnx) or die( mysql_error() ) ;
	  		
			
			
			

			while($row=mysql_fetch_row($rep)){
				$fld_id=$row[0];
				$fld_nom=$row[1];
				$fld_pepins=$row[2];
				$fld_diametres=$row[3];
				
				
				echo "
  <tr>
    <td>&nbsp;</td>
    <td>$fld_nom</td>
  </tr>
  <tr>
    <td>id</td>
    <td>$fld_id</td>
  </tr>
  <tr>
    <td>pépins</td>
    <td>$fld_pepins</td>
  </tr>
  <tr>
    <td>diamètres</td>
    <td>$fld_diametres</td>
  </tr>
"  ;
		 										}	
		 						
				
					
			
				 ?>
</table>

ViPHP
xTG
ViPHP | 7331 Messages

19 juil. 2011, 08:01

Hum pas de solution optimisé à te proposer mais une piste.
Il faudrait dans un premier temps stocker le retour de ta requête dans un tableau.
Et ensuite faire l'affichage (et non les deux en même temps comme actuellement).
Ainsi tu pourrais à loisir parcourir plusieurs fois ton tableau pour y afficher ce que tu souhaites.
$tableau = array(
  0 => array( 'id' => "id1", 'nb' => 1),
  1 => array( 'id' => "id2", 'nb' => 5)
);
echo '<table>';
// Affichage première ligne
echo '<tr><td>ID :</td>';
foreach($tableau as $val)
  echo '<td>'.$val['id'].'</td>';
// Affichage seconde ligne
echo '</tr><tr><td>Nb :</td>';
foreach($tableau as $val)
  echo '<td>'.$val['nb'].'</td>';
echo '</tr></table>';

Eléphant du PHP | 92 Messages

19 juil. 2011, 15:18

Salut xTG,

Super gentil, merci pour cette information :D