2010-07-16 8 views
1

J'ai tout essayé pour que cela fonctionne et je ne peux pas obtenir le compte juste. J'essaie d'incrémenter $ j à chaque fois, mais UNIQUEMENT pour les résultats de num_rows. À l'origine, $ j était $ i + 1, mais cela ne fonctionnera pas car je ne montre pas tous les résultats de la boucle for, seulement ceux avec num_rows retournés. Toute aide ici? ViveUn compte pour la boucle

+0

Déplacer '$ j = 0;' avant la boucle externe? – Artefacto

+0

Le raccourci pour '$ j = $ j + 1;' est '$ j ++;'. Je suis confus cependant. Souhaitez-vous que '$ j' soit égal à mysql_num_rows ($ s)' ou que $ j soit simplement votre numéro de ligne dans la table html que vous avez créée? Si le numéro de ligne du tableau, vous voulez mettre '$ j = 0;' dans votre bit de déclaration de boucle for: 'pour ($ i = 0, $ j = 0; $ i <$ total; $ i ++) {}'. –

+0

Btw Je pense que votre code est un peu mélangé. Ne pas faire écho HTML avec PHP et envisager d'utiliser la syntaxe alternative pour les structures de contrôle: http://php.net/manual/fr/control-structures.alternative-syntax.php –

Répondre

3
$total = count($u); 
        for ($i = 0; $i < $total; $i++) 
        { 
         $j = 0; 

L'affectation $ j est à l'intérieur de la boucle, elle est donc définie sur 0 à chaque fois. Il suffit de le déplacer vers la droite avant la boucle.

$total = count($u); 
        $j = 0; 
        for ($i = 0; $i < $total; $i++) 
        { 
+0

Ceci est fou, je suis sûr que j'ai essayé cette !! Mais ça marche, merci mec. – sark9012

+0

@Luke, si cela fonctionne, acceptez la réponse. :-) –

0

je changerais votre intérieur si ceci:

    if (mysql_num_rows($s) > 0) 
        { 
         $j = $j + 1; 
         ?> 
         <tr> 
           <?php 
            echo "<td>$j</td>"; 
           ?> 

           <?php 
            echo "<td>$u[$i]</td>"; 
           ?> 
           <?php 
            echo "<td>$p[$i]</td>"; 
           ?> 
         </tr> 
         <? 
        } else { // if no rows returned, hasn't played recently 
         echo "<tr><td>Hasn't Played</td></tr>"; 
        } 

Actuellement, vous n'êtes pas représentant aucune ligne retournée. En outre, vous pouvez être en mesure d'éviter tout le va-et-vient de PHP en faisant écho ou en imprimant le tout en un seul coup. C'est assez prévisible, ce serait assez simple.