Page 1 sur 1

Affichage id à la ligne dans tableau 2 colonnes

Posté : 06 avr. 2009, 22:14
par muriel
Bonsoir à tous,

J'ai une boucle dans un tableau avec 20 produits et je desirai afficher mes produits sur 10 lignes et à la 10ieme ligne les mettrent dans une nouvelle colonnes et là je me tourne vers vous en esperant que vous pourrez m'aider, voici mon code sur une colonne:
$result_query = mysql_query("SELECT * FROM produits WHERE constructeur LIKE '%hp%'");
?>
<table>
<?php
			
while($result = mysql_fetch_array($result_query))
<tr> 
<td><?php echo $result['produits'];} ?></td>
</tr>
</table>
d'avance merci de votre aide, muriel

Posté : 07 avr. 2009, 01:11
par Nours312
je dirais que dans ce cas, tu dois préformater ta table en amont ::

$col = 0 ;
$row = 0;

while($result = mysql_fetch_array($result_query)) {

  $tb[$row][$col] = $result;
  $row++;

  if ($row == 10) { $row =0;$col++;}

}

//et ensuite 

foreach ($tb as $v){

  echo '<tr> 
<td> '. ((!empty($v[0])) ? $v[0]['produits'] : '&nbsp;').'</td>
<td> '. ((!empty($v[0])) ? $v[1]['produits'] : '&nbsp;').'</td>
<td> '. ((!empty($v[0])) ? $v[2]['produits'] : '&nbsp;').'</td>
</tr> ';

}

tu dois avoir le moyen de dynamiser l'intérieur de la ligne, mais le principe est celui-ci ... @+

Posté : 07 avr. 2009, 02:43
par muriel
merci beaucoup Nours312 ça marche parfaitement bien, juste une petite question je desirai ajouter avec le &produit, la &reference juste separé juste par un espace comment dois je l'integré dans le code: (desolée je suis debutante en php et je rame un peu sur certains details de syntaxe), j'ai essayé:
<td> '. ((!empty($v[0])) ? $v[0]['produits'];]['reference']  : '&nbsp;').'</td> 
mais evidemment ça marche pas...

Merci d'avance pour votre aide, muriel.

Posté : 07 avr. 2009, 07:22
par thehawk
Pour t'aider la syntax de le l'opérateur ternaire (c'est son nom ;) ) est par exemple :

$mavariable = (condition) ? si oui : si non ;

voila ;)

Posté : 07 avr. 2009, 10:36
par Nours312
et donc pour terminer l'explication de thehawk :

((!empty($v[0])) ? $v[0]['produits'].' '.$v[0]['reference'] : '&nbsp;')

revient à dire :

if (!empty($v[0])) echo $v[0]['produits'].' '.$v[0]['reference'];
else echo '&nbsp;' ;

mais en l'incrustant tels que je te l'ai mis, on evite les echo interminables et autre risque d'erreur !!

@+

Posté : 12 avr. 2009, 18:28
par muriel
Bonjour à tous, avec un peu de retard, je voulais vous remercier de votre aide à tous ça marche parfaitement. Bon WE de paques, muriel