2013-11-09 1 views
-1
<?php 

    $i=0; 
    while($i < 101){ 
     if($i%2==0){ 
      echo "<tr>".PHP_EOL; 
     } 

     echo "<td>".$i."</td>".PHP_EOL; 
     $i++; 

     if($i%2==0){ 
      echo "</tr>".PHP_EOL; 
     } 
    } 
?> 

Этот код генерирует таблицу со 100 строками и двумя столбцами. Но я хочу, чтобы показать упорядоченные числа (upp до 100) в левой части строки и показать что-то еще (например, pow (rownumber)) в правой части строки. Как я могу это сделать?PHP Table Loop?

+0

вы можете дать пример того, что вы хотите? –

ответ

1

Попробуйте, Выведет 100 строк с числом и его мощность в двух колонках

<table> 
<?php 
for($i = 0; $i <= 100; $i++){ 

    echo sprintf('<tr><td>%s</td><td>%s</td></tr>', 
      $i, 
      pow($i, 2) 
     ); 
} 
?> 
</table> 
+0

Это должно быть «pow ($ i, 2)», но это сработало хорошо! :) Спасибо! – Yonetmen

+0

ха-ха извините об этом. –

0

Вы хотите что-то ищите?

for($i=0; i<100; i++){ 
    if($i%2==0){ 
     echo "<tr>".PHP_EOL; 
    } 

    echo "<td>".$i."</td>".PHP_EOL; 
    echo "<td>Something Else</td>".PHP_EOL; 

    if($i%2==0){ 
     echo "</tr>".PHP_EOL; 
    } 
} 
0

Вы можете использовать модуль (и слишком цикл)

for ($i = 1; $i <= 100; $i++){ 
    $mod = ($i%2==0) ? true : false; 
     if($mod) echo "<tr>".PHP_EOL; 
     echo "<td>".$i."</td>".PHP_EOL; 
     echo "<td>". foo($bar) ."</td>".PHP_EOL; 
     if($mod) echo "</tr>".PHP_EOL; 
} 
+0

Вместо '$ mod = ($ i% 2 == 0)? true: false; 'just do' $ mod = $ i% 2 === 0; ' – Mark

-1

Почему используйте modulo только для двух вариантов? Это решение кажется намного проще. Ваш $data представляет собой массив вещей, которые вы хотите отобразить, в настоящее время алфавит.

$data = range('a','z'); 

foreach($data as $num => $elem) { 
    echo "<tr>".PHP_EOL; 
    echo "<td>".$num.</td>".PHP_EOL; 
    echo "<td>".$elem.</td>".PHP_EOL; 
    echo "</tr>".PHP_EOL; 
} 

Если вы хотите, чтобы цикл был 100 раз, просто сделайте массив такого размера.

Foreach documentation

0
<?php 
$i=0; 
$j=0; 
    while($i < 101){ 

     if($i%2==0){ 
      $j++; 
      echo "<tr>"."<td>".$j."</td>".PHP_EOL; 

     } 

     echo "<td>".$i."</td>".PHP_EOL; 

     $i++; 

     if($i%2==0){ 
      echo "<td>any text</td>"."</tr>".PHP_EOL; 
     } 
    } 
?>