私はしばらくここで立ち往生しています多分あなたたちは私を助けることができますか?1つのテーブルからのデータベースレコードのテーブルを強調表示し、このテーブルのIDが2番目のテーブルにも存在するかどうかを確認します。
具体的に説明します。
Table 1: Projects (projectid pk)
Table 2: Reservations (projectid fk)
これを単純に保つための単純なサンプルコード:
while( $record=mysql_fetch_array($result) )
{
$projectid=$record['projectid'];
echo "<tr>". $projectid ."</tr>;
}
これはうまく機能しています。DBに存在する各projectidを持つすべてのテーブル行を取得しますが、この$projectid
変数を別のクエリに渡して、これが他のテーブルに存在するかどうかを確認し、存在する場合は別の何かをエコーアウトする方法はありますか?これはおそらくあまり意味をなさない私のコードですが、少なくともロジックはそこにあります...私は願っていますか?:
while( $record=mysql_fetch_array($result) )
{
$projectid=$record['projectid'];
$hasreservationquery = ("
SELECT *
FROM reservelist rl
INNER JOIN project p on rl.projectid = p.projectid
WHERE rl.projectid = $projectid
");
$hasreservationqueryresult = mysql_query($hasreservationquery) or die(mysql_error());
if ($hasreservationqueryresult > 1)
{
echo "<tr id='hasreservation'>";
}
else
{
echo "<tr>";
}
echo "". $projectid ."";
}
残念ながら、これにより、実際に予約が含まれているテーブルだけでなく、強調表示されているすべてのテーブルが返されます。私は何が間違っているのですか?
前もって感謝します。