我正在忙於創建允許用戶舉辦晚宴並允許用戶加入晚宴的網站。我有兩個名爲gebruikers(用戶)和晚餐(晚餐)的數據庫表。我正在尋找一個搜索頁面,使用戶可以搜索woonplaats(城市),然後顯示居住在該城市的用戶。這現在正常,但我想確保只顯示添加晚餐的用戶。在這兩個表中都有一個共同的關鍵字:diner.gebruikersid = gebruikers.id 換句話說,我只希望在用餐者和gebruikers表中都顯示其用戶名的用戶顯示在搜索結果中。我怎樣才能做到這一點?如果表2中存在值,則只顯示數據庫表1上的sql查詢結果
我眼前這個代碼:
$zoeken = $_POST['woonplaats'];
$sql = "SELECT id, voornaam, straatnaam FROM gebruikers WHERE woonplaats LIKE '$zoeken'";
$result = mysql_query($sql);
echo "<div class=res>";
echo "<h3>Resulaten voor " .$zoeken. "</h3>";
echo "<table>";
echo "<thead>";
echo "<tr>";
echo "<th>Voornaam</th>";
echo "<th>Straatnaam</th>";
echo "<th></th>";
echo "</tr>";
echo "</thead>";
while($row = mysql_fetch_assoc($result)) {
echo "<tbody>";
echo "<tr>";
echo "<td>".$row['voornaam']."</td>";
echo "<td>".$row['straatnaam']."</td>";
echo "<td>";
echo "<form action='eetprofiel.php' method='post'>";
echo "<input type='hidden' name='id' value='".$row['id']."'>";
echo "<input type='submit' value='Profiel bekijken'>";
echo "</form>";
echo "<td>";
echo "</tr>";
echo "</tbody>";
}
echo "</table>";
echo "</div>";
?>
編輯:
These are all the users in my database (in table gebruikers) with woonplaats Amersfoort
These are all the diners submitted by those users.
正如你看到的,與gebruikers.id用戶和diner.gebruikersid 23沒有提交晚餐,所以我不希望他在搜索結果中顯示。
閱讀一些有關SQL INNER加入。 – etsa
請看看mysqli或pdo,因爲mysql已被棄用 –
@etsa我知道它與內部連接有關,但我無法弄清楚如何使用它,因爲我不想獲取任何數據從餐桌上,我只想顯示一位用戶,如果他在餐桌上有他的ID。你能解釋一下更具體的我應該看的地方嗎? – Bram