我试图在setTransients
内回显两个不同的列,输出将在getTransients
这是我的代码:
instance
现在,代码为我提供了最多instance
列的输出,但在此之后,我的代码while loop
已不再有效
如何让<td>
正常工作?
先谢谢你们
编辑:
我添加了while($row = mysql_fetch_array($stmt)){
$doc_number = $row['doc_number'];
$place_of_issue = $row['place_of_issue'];
$crew_rank_code = $row['crew_rank_code'];
$full_name = $row['full_name'];
$date_of_birth = $row['date_of_birth'];
$place_of_birth = $row['place_of_birth'];
$date_issue = $row['date_issue'];
$date_expiry = $row['date_expiry'];
$place_of_birth = $row['place_of_birth'];
echo '<tr>';
echo "<td>$crew_rank_code</td>";
echo "<td>$full_name</td>";
echo "<td>$date_of_birth</td>";
echo "<td>$place_of_birth</td>";
echo "<td>". (($row['doc_type'] == '1') ? "$doc_number" : "") . "</td>";
echo "<td>". (($row['doc_type'] == '1') ? "$date_issue" : "") . "</td>";
echo "<td>". (($row['doc_type'] == '1') ? "$date_expiry" : "") . "</td>";
echo "<td>". (($row['doc_type'] == '1') ? "$place_of_issue" : "") . "</td>";
echo "<td>". (($row['doc_type'] == '2') ? "$doc_number" : "") . "</td>";
echo "<td>". (($row['doc_type'] == '2') ? "$date_issue" : "") . "</td>";
echo "<td>". (($row['doc_type'] == '2') ? "$date_expiry" : "") . "</td>";
echo "<td>". (($row['doc_type'] == '2') ? "$place_of_issue" : "") . "</td>";
echo '</tr>';
}
PASSPORT PLACE ISSUE
答案 0 :(得分:0)
编辑:抱歉,我的上一个答案是错误的,你应该重写你的sql以最终得到类似的东西
echo "<td>". $row['doc_type'][1]['$doc_number'] . "</td>";
答案 1 :(得分:0)
三元运算符不一定需要()
括号,只是关于代码可读性的第一个注释。继续,您是否通过对其内容进行简单输出来调试行doc_type
实际包含的内容?你的条件:
echo '<td>' . (int)$row['doc_type'] == 2 ? $doc_number : '' . '</td>';
只返回$doc_number
,又称。 $row['doc_number']
,如果doc_type
设置为 2 。此外,为此,请始终将数值检查为数据类型 int 。它将使用分隔符doc_type
自动解析条件中的(int)
。
三元表达很精彩,但在你的情况下,你是在倾向于它。为了便于阅读,您可以简单地使用条件表达式和短手操作符来输出:
<?php
while($r = mysql_fetch_array($stmt)):
$doc_number = $r['doc_number'];
/* [...] */
if( (int) $r['doc_type'] == 1 ): ?>
<td> <?= $doc_number ?> </td>
<!-- [...] -->
<?php else if( (int)$r['doc_type'] == 2 ): ?>
<td> <?= $doc_XXXX ?> </td>
<!-- [...] -->
<?php else:
// debug console to check what `doc_type` value was if no condition was met
echo '<script>console.log("[DOC_TYPE_DEBUG] ' . $r['doc_type'] . '");</script>';
endif;
endwhile;