2015-02-19 3 views
0

Я использую следующий запрос MySQL для выбора данных из моей базы данных и повторения результатов в таблице.html/mysql Результаты эхо-запроса в таблицу?

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

Вот что происходит:

Heading1  Heading2  Heading3  Heading4  Heading5 
a    b    c    d   e 
a 
b 
c 
d 
e 

пожалуйста, может кто-то показать мне, где я неправильно. Вот мой код:

<?php 
$conn = new mysqli($host, $username, $password, $db_name); 
// Check connection 
if ($conn->connect_error) { 
die("Connection failed: " . $conn->connect_error); } 
$sql = "select * from new_supplier_request where status!= 'complete' and action_taken ='actioned'"; 
      $result = $conn->query($sql); 
      if ($result->num_rows > 0) { 
      echo '<table><tr><td><p><u>Request By</u></p></td><td><p><u>Date</u></p></td><td><p><u>Status</u></p></td><td><p><u>Supplier Name</u></p></td><td><p><u>Action</u></p></td></tr>'; 

      while($row = $result->fetch_assoc()) { 

     $datetime = strtotime($row['date']); 
     $mysqldate = date("D, d M Y ", $datetime); 

     echo '<tr>'; 
     echo '<td><p>'.$row['user_id'].'</p></td>'; 
     echo '<td><p>'.$row['user_id'].'</p></td>'; 
     echo '<td><p>'.$row['user_id'].'</p></td>'; 
     echo '<td><p>'.$row['user_id'].'</p></td>'; 
     echo '<td><p><a href="process/action.php?reference='.$row['reference'].'" id="action">Action</a>&nbsp;/&nbsp;<a href="process/decline.php?reference='.$row['reference'].'" id="decline">Decline</a></p></td></tr>'; 
} 
echo '</table>'; 

      }else{ 

       echo'<div class="no_requests">No New Supplier Request&#39;s</div>'; 


      } ?> 
+0

Почему вы закрываете таблицу '' с каждой итерацией цикла while? Вы должны закрыть его послесловие – treegarden

+0

вы закрыли '' in to while loop .. держите его за пределами –

ответ

3

Вы закрываете таблицу в loop.The первого набора результатов вторят правильно, потому что он все еще в первом цикле, и это будет выход, как вы хотите, но из-за закрытие таблицы , другие результаты испорчены. Тег </table> находится в цикле, но <table> не так </table> даже не закрывает ничего. Значение остальных результатов на самом деле не в таблице. Вам нужно вывести </table> из цикла.

while($row = $result->fetch_assoc()) { 

     $datetime = strtotime($row['date']); 
     $mysqldate = date("D, d M Y ", $datetime); 

     echo '<tr>'; 
     echo '<td><p>'.$row['user_id'].'</p></td>'; 
     echo '<td><p>'.$row['user_id'].'</p></td>'; 
     echo '<td><p>'.$row['user_id'].'</p></td>'; 
     echo '<td><p>'.$row['user_id'].'</p></td>'; 
     echo '<td><p><a href="process/action.php?reference='.$row['reference'].'" id="action">Action</a>&nbsp;/&nbsp;<a href="process/decline.php?reference='.$row['reference'].'" id="decline">Decline</a></p></td></tr>'; 
} 
echo '</table>'; 

также то, что при случайном <?php выше ваше время?

+0

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

+0

неважно, я получил его работу, был проблемой. благодаря –

Смежные вопросы