aficher les valeur d'une boucle deux par deux.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : aficher les valeur d'une boucle deux par deux.

par h0_noMan » 27 févr. 2008, 17:36

Faut aussi traiter le cas ou tu as un nombre impair.
Car sur la dernière ligne tu n'auras qu'une seule cellule ce qui n'est pas syntaxiquement correct.

Tu devras alors mettre une cellule vite a droite de la dernière.
$mod1 = mysql_query("SELECT * FROM `produit` WHERE `type` = '$type'  AND `stock` > 0 LIMIT ".$page1.",4");
$i = 0;
while ($mod=mysql_fetch_array($mod1))
{
   if (($i % 2) == 0)
   {
      // $i est paire, ici tu ouvres une ligne et tu affiches ta première colone
   }
   else
   {
       // $i est impaire, ici tu affiches ta seconde colone et tu finis ta ligne
   }
   $i++;
}
if( $i%2 == 0)
echo '<td>&nbsp;</td></tr>' ;

par hakazizi » 27 févr. 2008, 17:28

merci Genova
sa marche niquel.

par Genova » 27 févr. 2008, 17:04

Bonjour,
tu peux utiliser l'opérateur % (modulo) de PHP afin de gérer des cas une fois sur deux, comme ceci :
$mod1 = mysql_query("SELECT * FROM `produit` WHERE `type` = '$type'  AND `stock` > 0 LIMIT ".$page1.",4");
$i = 0;
while ($mod=mysql_fetch_array($mod1))
{
   if (($i % 2) == 0)
   {
      // $i est paire, ici tu ouvres une ligne et tu affiches ta première colone
   }
   else
   {
       // $i est impaire, ici tu affiches ta seconde colone et tu finis ta ligne
   }
   $i++;
} 

aficher les valeur d'une boucle deux par deux.

par hakazizi » 27 févr. 2008, 16:55

j'explique.
sur mon site je voudrais afficher mes articles deux par deux et les limiters au nombre de 4.
avoir quelque chose comme ceci.

Code : Tout sélectionner

<table border="0"> <tr> <td align="center"> </td> <td align="center"> </td> </tr> <tr> <td align="center"> </td> <td align="center"> </td> </tr> </table>
maintenant le php.
voici ce que j'ai
$mod1 = mysql_query("SELECT * FROM `produit` WHERE `type` = '$type'  AND `stock` > 0 LIMIT ".$page1.",4");
while ($mod=mysql_fetch_array($mod1))
{
}
?>
Je voudrais savoir comment agencer mon script afin de n'avoir qu'une seul requete sql a faire.
merci.