Comptage dans une boucle while

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 : Comptage dans une boucle while

par LitteulBlack » 19 févr. 2006, 15:48

Un grand merci à vous deux cela marche correctement. Merci du petit renseignement sur l'utilisation de = et == :)

par Cyrano » 19 févr. 2006, 12:56

L'opérateur de comparaison, c'est "==" et non "=" qui est un opérateur d'affectation :arrow:
if ( $ra == 1 )

par jojolapine » 19 févr. 2006, 11:09

ça ne résoudra pas ton problème mais met:
$ra++;
à la place de
$ra=$ra+1;
c'est plus optimisé (donc plus rapide si t'a quequechose de long à traiter)

par LitteulBlack » 19 févr. 2006, 04:26

Je te remercie de ta réponse.

Pour ce qui est de la boucle while je n'ais pas de soucis car je référence correctement ce qui se trouve dans le repertoire en question. Me soucis c'est essentiellement la partie comptage.

J'ai donc remplacer mon code par sa
if ( $ra = 1 ) {
                $raw = "row1";
}
else
{
                $raw = "row2";
                $ra = 0;
}
Mais j'ai toujours le même soucis. Ma variable reste toujours à 1 et le comptage ne s'éffectue pas.

Pourtant le code ci-dessus me parait correct
 $ra =  $ra + 1;
Merci de ton aide :)

par Ouaibou » 18 févr. 2006, 21:37

Salut,

Es-tu sur que ta condition est bien réalisée :
 if ($file != "." && $file != ".." && $file != "index.php" && $file != "images" )
et que ta boucle se fasse réllement ?
while (false !== ($file = readdir($handle)))
J'aurais d'ailleurs plutôt écrit ceci, comme cela :
while (($file = readdir($handle)) !== false)
voir
while (!($file = readdir($handle)))
De même pour ta condition sur $ra, j'aurais ecrit ça :
if ( $ra = 1 ) {
                $raw = "row1";
}
else
{
                $raw = "row2";
                $ra = 0;
} 
à la place de ça :
if ( $ra = 1 ) {
                $raw = "row1";
                }
            if ( $ra != 1 ) {
                $raw = "row2";
                $ra = 0;
                } 
@+

Comptage dans une boucle while

par LitteulBlack » 18 févr. 2006, 20:55

<?php
$ra = 0;
if ($handle = opendir('.')) {
	while (false !== ($file = readdir($handle))) {
	// comptage des rows
       if ($file != "." && $file != ".." && $file != "index.php" && $file != "images" ) {
				$ra =  $ra + 1;
			if ( $ra = 1 ) {
				$raw = "row1";
				}
			if ( $ra != 1 ) {
				$raw = "row2";
				$ra = 0;
				}
	   		echo "	<tr>\n";	
			echo "		<td class=\"".$raw."\" align=\"center\"><a href=\"http://sodium.war.verygames.net/video_match/".$file."\"><img src=\"images/dl.gif\" border=\"0\"  alt=\"Télécharger\" /></a></td>\n";
			echo "		<td class=\"".$raw."\">".$file."</td>\n";
			echo "		<td class=\"".$raw."\" align=\"center\">?</td>\n";
			echo "		<td class=\"".$raw."\" align=\"center\">?</td>\n";
			echo "		<td class=\"".$raw."\" align=\"center\">?</td>\n";
			echo "	</tr>\n";
		}
   }
   closedir($handle);
}
?>
Voilà je ne sais pas ce qui m'échappe mais la variable $ra reste toujours à la valeur 1. Le but c'est quelle switch 0 1 pour ainsi différencier l'affichage de la page.

J'ai par ailleurs cherhcé une fonction de comptage en php sur le forum mais je n'ai pas trouver

Merci de toutes votre aide.