我正在使用以下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> / <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's</div>';
} ?>
答案 0 :(得分:3)
你在循环中关闭表。第一组结果被正确回显,因为它仍然在第一个循环中并且它将输出你想要的结果,但由于结束表,其他结果搞砸了。 </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> / <a href="process/decline.php?reference='.$row['reference'].'" id="decline">Decline</a></p></td></tr>';
}
echo '</table>';
还有你上面的随机<?php
是什么?