2017-03-21 29 views
0

我正在忙於創建允許用戶舉辦晚宴並允許用戶加入晚宴的網站。我有兩個名爲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沒有提交晚餐,所以我不希望他在搜索結果中顯示。

+1

閱讀一些有關SQL INNER加入。 – etsa

+1

請看看mysqli或pdo,因爲mysql已被棄用 –

+0

@etsa我知道它與內部連接有關,但我無法弄清楚如何使用它,因爲我不想獲取任何數據從餐桌上,我只想顯示一位用戶,如果他在餐桌上有他的ID。你能解釋一下更具體的我應該看的地方嗎? – Bram

回答

1

你應該加入2個表格。隨着JOIN看看的這個

https://www.tutorialspoint.com/mysql/mysql-using-joins.htm

例如加入

select tableA.user ,tableB.user from tableA JOIN tableB on tableA.id = tableB.id 

注意:不要使用mysql但是不贊成使用的mysqli或PDO來代替

+0

我知道它與內部連接有關,我對此很熟悉。但我無法弄清楚如何使用它,因爲我不想從餐桌獲取任何數據,我只想顯示一個用戶,只要他在餐桌上有他的ID。你能否更具體地解釋我應該看的地方? – Bram

+0

剛編輯答案 –

相關問題