2015-12-17 6 views
0

Мне нужно создать таблицу HTML, состоящую из трех столбцов: электронная почта, имя, фамилия в моем цикле.Как создать таблицу HTML в цикле foreach

Может ли кто-нибудь дать подсказку, как я могу начать создавать?

$i=0; 
foreach($result as $r) { 
    echo "<pre>"; 
    print_r($i ." ". $r['aluno_email'] ."". " | ". $r['aluno_nome'] 
. " " . 
$r['aluno_sobrenome'] . " | ". strtolower(trim(($r['aluno_nome'])))."_".strtolower(trim($r['aluno_sobrenome']))); 
    echo "<pre>"; 
    $i++; 
} 

ответ

1

Попробуйте это:

<?php 
$i = 0; 
echo '<table>'; 
foreach ($result as $r) { 
    echo "<tr><td>{$i}</td><td>{$r['aluno_email'}</td><td>{$r['aluno_nome']}</td></tr>"; 
    $i++; 
} 
echo '</table>'; 
+3

Почему ОП «попробовать это»? *** Хороший ответ *** всегда будет объяснять, что было сделано, и почему это было сделано именно так, не только для OP, но и для будущих посетителей SO. –

+1

Да, да. Только ответы на код, как правило, считаются * плохой формой *, и я предлагал вам сделать ваш ответ лучше до такой степени, что люди фактически подтвердят ваш ответ. Это ваш выбор, улучшить или нет. Счастливых праздников! ¯ \\ _ (ツ) _/¯ –

+1

Да. Что делать, если общий новичок читает ваш ответ? Все может быть не так очевидно, как вы думаете. –

3

Loop через результаты, каждый результат выводит одну строку

echo '<table>'; 
foreach ($results as $r) { 
    echo sprintf('<tr><td>%s</td><td>%s</td><td>%s</td></tr>', $r['email'], $r['name'], $r['last_name']); 
} 
echo '</table>'; 
+0

'echo sprintf()' кажется слишком большим, 'printf()' должно быть достаточно. Но +1 в любом случае для использования такой функции – kero

4

Создание таблицы и заголовок таблицы вне цикла.

Заполните тело стола в петле и закройте петлю.

<table> 
    <tr> 
     <th>Email</th> 
     <th>Name</th> 
     <th>Last Name</th> 
    </tr> 
    <?php 
    $i = 0; 
    foreach ($result as $r) { 
     echo "<tr>"; 
     echo "<td>" . $r['aluno_sobrenome'] . "</td><td>" . strtolower(trim(($r['aluno_nome']))) . "</td><td>" . strtolower(trim($r['aluno_sobrenome'])) . "</td>"; 
     echo "</tr>"; 

     $i++; 
    } 
    ?> 
</table> 
0

это, как вы это делаете

echo "<table> 
      <tr><th>Email</th><th>Name</th><th>LastName</th></tr>"; 

      foreach($result as $val){ 
       echo "<tr><td>".$val['email']."</td><td>".$val['name']."</td><td>".$val['lastName']."</td><td>"</tr>"; 
      } 
echo "</table>"; 
+0

Зачем нужно это делать? *** Хороший ответ *** всегда будет объяснять, что было сделано, и почему это было сделано именно так, не только для OP, но и для будущих посетителей SO. –

1

Я обычно начинаю с проверки результатов, а затем построить таблицу:

if ($result->num_rows > 0) { 
    echo "<table> 
      <tr> 
       <th>Email</th> 
       <th>Name</th> 
       <th>LastName</th> 
      </tr>"; 

I run my loop and output as long as I have results: 

// output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo "<tr> 
        <td>" . $row["Email"]. "</td> 
        <td>" . $row["Name"]. "</td> 
        <td>" . $row["LastName"]. "</td> 
       </tr>"; 

    } 
    echo "</table>";