所以我有一个 switch 语句,我想根据一个表中的 id 是否在另一个表中具有匹配的外键来显示一种或另一种形式。
到目前为止,我尝试过的是将一个 while 语句嵌套到另一个不起作用的语句中。
$subresult = mysqli_query($con,"SELECT * FROM tags GROUP BY tag");
$subresult2 = mysqli_query($con,"SELECT * FROM tag_subscribe WHERE uid = $uid");
while ($row = mysqli_fetch_array($subresult)) {
$tid = $row['tid'];
while ($row2 = mysqli_fetch_array($subresult2)) {
$tid2 = $row2['tid'];
}
if ($tid2 == $tid) {
$subbedup = 'yes';
} else {
$subbedup = 'no';
}
switch ($subbedup) {
case ('yes'):
echo "alternate html form goes here because $tid2 == $tid";
break;
case ('no'):
echo "html form goes here";
break;
}
}
所以当这段代码运行时,它只返回开关“no”,除了它会返回一个开关“yes”,它恰好是包含外键的第二个表的最后一条记录。当我考虑它时,这是有道理的,因为它会一直运行这个循环,直到它用完表中的记录。因此,我花了大约 6 分钟的时间到达这一点,并且在过去的 6 个小时里,我一直在试图让它正常工作,但没有任何运气。
所以再一次,SO的好人,救救我!谢谢,麻烦您了 :)
所以我的问题是:这将如何正确完成?