boucle question [PHP] - Programmation
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...
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>
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).
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]