[PHP] boucle question

boucle question [PHP] - Programmation

Marsh Posté le 01-06-2002 à 12:45:19    

voila g creer une boucle qui m'affiche
toute les url stocker dans une bdd, et j'aimerai afficher  
un message toute les 10 urls
 
g testé un truc du genre
if($nb=10) echo"blabla"; mais ca m'affiche le message devant chaque url...
merci

 

[jfdsdjhfuetppo]--Message édité par Herks le 01-06-2002 à 12:49:47--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 01-06-2002 à 12:45:19   

Reply

Marsh Posté le 01-06-2002 à 12:50:10    

if($nb == 10)

Reply

Marsh Posté le 01-06-2002 à 12:57:30    

nop deja tester et ca marche pas, ca ne m'affiche pas de message du tout meme au bout de 10 et plus...

Reply

Marsh Posté le 01-06-2002 à 13:06:37    

montre ton code !

Reply

Marsh Posté le 01-06-2002 à 13:10:57    

<?
include ("connexion_gal.php" );
 
$requette= mysql_query("SELECT * FROM gal ORDER BY id desc" );  
?>
<table width="100%" border="0" bgcolor="333333">
  <tr>  
    <td>
<?
while($valeurlu = @mysql_fetch_array($requette)) //debut de la boucle
{
?>
 
<font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="FFE300"><? printf($valeurlu["date"]);?>:</font>
<a href="http://backgrounds.free.fr/galeries/galerie.php?rep=<? printf($valeurlu["rep"]);?>&nb=<? printf($valeurlu["nb"]);?>" target="_blank"><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="FFFFFFF"><? printf($valeurlu["nom"]);?></font></a>
<br>
 
<?
$test=$valeurlu["id"];
if($test == '10';) echo"teste<br>";
}
?>
   </td>
  </tr>
</table>

Reply

Marsh Posté le 01-06-2002 à 13:21:34    

se baser sur les id n'est pas une bonne méthode : dès que tu modifies ta table (enlèvements, rajout d'entrées), l'id peut changer n'importe comment.
 
donc le mieux est de garder un compteur dans ta boucle, que tu incrémentes à chaque passage. dès qu'il arrive à 10, tu affiches ton message et tu le réinitialises à 0. une autre solution : tu incrémentes et testes compteur modulo 10 pour savoir si le nombre est divisible par 10.  
 
// première solution :
 
$nb = 0;
while (...)
{
  if ($nb == 10)
  {
    echo 'message';
    $nb = 0;
  }
  $nb++;
}
 
// deuxième solution :
 
$nb = 0;
while (...)
{
  if (($nb % 10) == 0)
  {
    echo 'message';
  }
  $nb++;
}
 
la deuxième est plus sympa et te permettra d'afficher un message dès le début de la boucle (car 0 % 10 = 0).

Reply

Marsh Posté le 01-06-2002 à 13:58:19    

ca marche nickel, merci beaucoup!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed