我遇到了奇怪的事情。当我得到一个空的SQL结果时,所有<tr> <td>
都消失了。当SQL结果具有数据时,表和数据表示形式将正常工作。您能帮忙解决这种情况吗?
<?php
$stidf = oci_parse($conn, "SELECT MIN(creation_time), TO_CHAR
(MIN(creation_time), 'HH24:MI:SS') FROM
table");
$rf=oci_execute($stidf);
while ($rowf = oci_fetch_array($stidf, OCI_BOTH)) { ?>
<td><?php if ($rowf[0] == NULL) {echo "x";} else { echo $rowf[1];} ?></b></td>
答案 0 :(得分:1)
这很正常,因为您的循环
while ($rowf = oci_fetch_array($stidf, OCI_BOTH)) {
依靠从数据库返回的数据,当没有数据时,将不会执行循环,因此将不会显示任何表,您可以执行以下操作:
$numRows = oci_num_rows($stidf);
if($numRows >0){
while ($rowf = oci_fetch_array($stidf, OCI_BOTH)) { ?>
<td><?php if ($rowf[0] == NULL) {echo "x";} else { echo $rowf[1];} ?></b></td>
}
}else{
<td><b style='color:#FC0000'>There is no Data</b></td>
}
答案 1 :(得分:0)
如果while
的值设置为true,则将执行$rowf
的正文。
当我得到一个空的SQL结果时,所有的一切都消失了。
因为<tr>
<td>
是while
循环主体的一部分。
当SQL结果具有数据时,表和数据表示工作 正确
将$rowf
的值设置为true,并执行while循环主体。