我的数据库中有两个表。一个标有tempahanbilik而另一个标记为bilik。两个表都有一个名为id的列(具有相同的值)。现在,我想显示tempahanbilik表中没有的其他数据
以下是代码:
$query = "SELECT * FROM tempahanbilik
WHERE tarikh BETWEEN '".$_SESSION['tarikh']."' AND '".$_SESSION['tarikh2']."'
&& tempahanbilik.id NOT IN (SELECT bilik.id FROM bilik)";
$results = $mysqli->query($query) or die($mysqli->error._LINE_);
$q = "SELECT * FROM bilik";
$result = $mysqli->query($query) or die($mysqli->error._LINE_);
$total = $results->num_rows;
if($total>0)
{
while($rows=$results->fetch_assoc())
{
$nama = $rows['tempat'];
echo" <tr>
<td align = center><a href='tengokKosong2.php?tempat=$nama'>$nama</a></td>";
echo "</tr>";
}
}
else
{
while($row=$result->fetch_assoc())
{
$id=$row['id'];
$nama =$row['nama'];
echo" <tr>
<td align = center><a href='tengokKosong2.php?id=$id&nama=$nama'>$nama</a></td>";
echo "</tr>";
}
}
答案 0 :(得分:0)
无需加入表格,您可以使用sub query
。你的查询应该是这样的
$query = "SELECT * FROM tempahanbilik
WHERE ( tarikh BETWEEN '".$_SESSION['tarikh']."' AND '".$_SESSION['tarikh2']."'
) AND tempahanbilik.id NOT IN (SELECT bilik.id FROM bilik)";
答案 1 :(得分:0)
你想显示bilik中不在tempahanbilik中的信息吗?
$query = "SELECT * FROM bilik
WHERE id NOT IN (SELECT id FROM tempahanbilik WHERE
tarikh BETWEEN '".$_SESSION['tarikh']."' AND '".$_SESSION['tarikh2']."')";
请尝试使用上述查询,让我知道它有结果。