所以我有一個switch語句,我想要顯示一種形式或另一種基於如果一個表中的id在另一個表中具有匹配的外鍵。switch語句基於兩個表中的變量是否匹配
到目前爲止,我試過的是將一個聲明嵌套到另一個不工作的聲明中。
$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;
}
}
所以這段代碼運行時,它只返回切換「不」,除了它會返回一個開關「是」,這恰好是一個包含外鍵的第二個表的最後一個記錄。當我考慮它時,這是有道理的,因爲它將繼續運行這個循環,直到它在表中的記錄用完。所以我花了大約六分鐘時間到達這一點,並且我花了最後6個小時試圖讓它在沒有任何運氣的情況下正常工作。
所以,再次,在這麼好的人,救救我吧!請和謝謝:)
所以我的問題是:這將如何正確完成?
我不明白你爲什麼while循環(一個或多個),而不是做比較的數據庫查詢 – 2013-04-18 23:47:44
如果我做了查詢,將只返回什麼查詢比較比較。如果它比較或不,但如果比較爲真,則我想要返回所有內容,顯示的內容與比較爲假時不同。 – ButterDog
在這一個上丟失了一種,祝你好運:-) – 2013-04-18 23:53:55