2016-03-29 4 views
0

Может ли кто-нибудь сказать мне, как адаптировать или изменить этот код для печати нескольких строк из таблицы базы данных в таблицу html с помощью PHP? Каждый пользователь будет иметь различное количество записей в таблице, поэтому мне нужно будет использовать какой-то цикл для печати строк.Печать нескольких строк из базы данных в таблицу

<?php 

        include_once 'dbconfig.php'; 

        $statement = $db_con->prepare("SELECT * FROM entry WHERE user_id=:uid"); 
        $statement->execute(array(":uid"=>$_SESSION['user_session'])); 
        $result=$statement->fetch(PDO::FETCH_ASSOC); 

        ?> 

        <table> 
         <tr> 
         <th>Entry</th> 
          <th>Date</th> 
          <th>Weight</th> 
          <th>BMI</th> 
          <th>Calories Consumed</th> 
          <th>Calories Burned</th> 
          <th>Calorific Deficit</th> 
         </tr> 

        <?php 

while($row = mysql_fetch_array($result)) { 

     $entry = $row["entry_id"];   
     $date = $row["date"]; 
     $weight = $row["weight"]; 
     $bmi = $row["bmi"]; 
     $consumed = $row["calories_consumed"]; 
     $burned = $row["calories_burned"]; 
     $deficit = $row["calorie_deficit"]; 

     echo "<tr> 
     <td>$entry</td> 
     <td>$date</td> 
     <td>$weight</td> 
     <td>$bmi</td> 
     <td>$consumed</td> 
     <td>$burned</td> 
     <td>$deficit</td> 
     </tr>"; 

} 

        ?> 

         </table> 

Это в настоящее время работает нормально, но она выводит только первую строку, относящуюся к конкретному пользователю, а не циклический и печатать строку для каждой записи.

Обновленный, чтобы включать в то время как петля

+2

'в то время как (что-то верно) {делать это}' –

+0

Я обновил свой ответ с тем, что у меня есть сейчас, но по какой-то причине он не печатает любой строки после строки заголовка –

+0

Вы смешиваете PDO с 'mysql_', вы не можете этого сделать. –

ответ

0
while ($row =$statement->fetch(PDO::FETCH_ASSOC)) { 
      $title1 = $row["title1"]; 
      $title2 = $row["titl2"]; 
      $title3 = $row["title3"]; 

      echo "<tr> 
      <td>$title1</td> 
      <td>$title2</td> 
      <td>$title3</td> 
      </tr>"; 
    } 
+0

Я попробовал что-то похожее на это раньше, и теперь попробовал это так. По какой-то причине он не возвращает никаких данных в таблицу. –

+1

@NeilKennedy попробуйте сейчас с помощью этого кода –

+0

Я пробовал этот код, и это похоже на улучшение, поскольку соответствующие строки были добавлены, когда я проверяю использование инструментов инспектора. Однако данные по-прежнему не добавляются в каждую ячейку –