[英]Display MySQL query results with variable data in an HTML table
所以我有一個查詢來獲取所需的值:
SELECT `UserId` FROM `usertable` WHERE `AssignedUserId` = '$userid';
查詢的最大結果數將恆定為8。
但是,取決於運行查詢的時間,結果可能會有所不同。 最小值將始終為1。
我將結果顯示在HTML表中,如果值為8,則顯示:
+----------+----------+----------+----------+
| value 1 | value 2 | value 3 | value 4 |
+----------+----------+----------+----------+
| vaule 5 | value 6 | value 7 | value 8 |
+----------+----------+----------+----------+
如果值較小,例如5,則應顯示以下內容:
+----------+----------+----------+----------+
| value 1 | value 2 | value 3 | value 4 |
+----------+----------+----------+----------+
| vaule 5 | empty | empty | empty |
+----------+----------+----------+----------+
現在,我將以下PHP代碼用於值:
if (GetRows > 0) {
$temp2 = FetchArray;
$tmpu0 = $temp2[0];
$tmpu1 = $temp2[1];
$tmpu2 = $temp2[2];
$tmpu3 = $temp2[3];
$tmpu4 = $temp2[4];
$tmpu5 = $temp2[5];
$tmpu6 = $temp2[6];
$tmpu7 = $temp2[7];
} else {
$tmpu0 = "Empty";
$tmpu1 = "Empty";
$tmpu2 = "Empty";
$tmpu3 = "Empty";
$tmpu4 = "Empty";
$tmpu5 = "Empty";
$tmpu6 = "Empty";
$tmpu7 = "Empty";
}
但是,只有在值為8時,它才能正確顯示。否則,我將得到一個空白表。 甚至沒有“空”。
我做錯了什么? 有沒有更好的方法來獲得我想要的結果?
感謝您的幫助...
謝謝!
完整的PHP文件:
<?php
$sql = "SELECT `UserId` FROM `usertable` WHERE `AssignedUserId` = '$userid'";
$results = Query($sql);
if (Rows($results) > 0) {
$temp2 = Fetch($results);
$tmpu0 = $temp2[0];
$tmpu1 = $temp2[1];
$tmpu2 = $temp2[2];
$tmpu3 = $temp2[3];
$tmpu4 = $temp2[4];
$tmpu5 = $temp2[5];
$tmpu6 = $temp2[6];
$tmpu7 = $temp2[7];
} else {
$tmpu0 = "Empty";
$tmpu1 = "Empty";
$tmpu2 = "Empty";
$tmpu3 = "Empty";
$tmpu4 = "Empty";
$tmpu5 = "Empty";
$tmpu6 = "Empty";
$tmpu7 = "Empty";
}
?>
<table border="1" align="center">
<thead>
<tr>
<th colspan="4">Users</th>
</tr>
</thead>
<tbody>
<tr>
<td><?php echo $tmpu0; ?></td>
<td><?php echo $tmpu1; ?></td>
<td><?php echo $tmpu2; ?></td>
<td><?php echo $tmpu3; ?></td>
</tr>
<tr>
<td><?php echo $tmpu4; ?></td>
<td><?php echo $tmpu5; ?></td>
<td><?php echo $tmpu6; ?></td>
<td><?php echo $tmpu7; ?></td>
</tr>
</tbody>
</table>
您可以這樣做:
$values = [];
for (var $i=0; $i<8;$i++) {
$values[$i] = !empty($temp2[$i]) ? $temp2[$i] : 'Empty';
}
然后$values
中將始終包含8個元素,並且當DB(?)中沒有值時,將在位置設置空字符串。
使所有值都為'Empty'的數組,然后使用來自DB的值重播它
$temp2 = array_replace(array_fill(0, 8, "Empty"), FetchArray);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.