我的数据库中有 2 个表。表tableA看起来像这样:
taid | tanum | tarelation
---------------------------
30 | 22 | 101
31 | 88 | 101
表格tableB如下所示:
tbid | tbnum | tbrelation
---------------------------
1 | 10 | 101
2 | 20 | 101
这是我的代码:
<?php
$columns = [];
$stmt = $conn->prepare("
SELECT tanum FROM tableA
UNION ALL
SELECT tbnum FROM tableB;
");
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_object()) {
$columns[] = $row;
}
$stmt->close();
?>
<?php foreach($columns as $column): ?>
<?php if ($column->tanum): ?>
<div><?php echo $column->tanum; ?>tanum</div>
<?php elseif ($column->tbnum): ?>
<div><?php echo $column->tbnum; ?>tbnum</div>
<?php endif; ?>
<?php endforeach; ?>
所以这是我想要达到的结果:
22tanum
88tanum
10tbnum
20tbnum
但这是我根据我当前的代码得到的结果:
22tanum
88tanum
10tanum
20tanum
如您所见,基于if statement, 如果$column->tanum被回显,则该词tanum应该出现在它之后;如果$column->tbnum被回显出来,那么单词tbnum应该出现在它之后。但相反,只tanum显示单词。代码有什么问题?请帮忙,谢谢
慕侠2389804
慕森王