2010-05-29 6 views
0

J'ai créé une boucle for. J'essaye de faire défiler beaucoup de membres et de créer une rangée pour chaque membre d'une table.pour la boucle ne convient pas?

Il passe en boucle trop de fois. Est-ce le bon type de boucle à utiliser?

 <?php 
    for ($i = 1; $i = count($u); $i++) 
    { 
     ?> 
     <tr> 
       <?php 
        echo "<td>$i</td>"; 
       ?> 

       <?php 
       foreach ($u as $username) 
       { 
        echo "<td>$username</td>"; 
       } 
       ?> 
       <?php 
       foreach ($p as $points) 
       { 
        echo "<td>$points</td>"; 
       } 
       ?> 
     </tr> 
     <? 
    } 
    ?> 

$ u et $ p sont des tableaux.

Merci

Répondre

4

Vous pouvez raccourcir un peu et enlever les boucles internes:

<php 
for ($i = 1; $i <= count($u); $i++) 
{ 
    echo '<tr>'; 
    echo "<td>$i</td>"; 
    echo "<td>$u[$i]</td>"; 
    echo "<td>$p[$i]</td>"; 
    echo '</tr>'; 
} 
?> 
+0

Les variables à l'intérieur de la boucle devraient également être à l'intérieur des balises . – Turnor

+0

@Turnor: Vous avez raison, n'a pas remarqué cela, merci. – Sarfraz

+0

Je viens de faire quelque chose de similaire, merci bud. Bon à savoir im obtenir les bonnes idées. – sark9012

2

$i = count($u) dans la boucle est ce qui cause le problème:

for ($i = 1; $i = count($u); $i++) 

A chaque itération de la boucle, vous assignons count($u) à l'aide d'un seul $i=. Devrait être

for ($i = 1; $i <= count($u); $i++) 

ou

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

Ahhh merci .... – sark9012

0
<?php 
$count = count($u); 
for ($i = 1; $i < $count; $i++) { 
    echo '<tr>'; 
    echo '<td>' . $i . '</td>'; 
    foreach ($u as $username) { 
     echo '<td>' . $username . '</td>'; 
    } 
    foreach ($p as $points) { 
     echo '<td>' . $points . '</td>'; 
    } 
    echo '</tr>'; 
} 
?>

Vous devez compter u $ avant en boucle.

Questions connexes