Ik heb 2 velden.

users
messages

beiden hebben een veld user_id

Nu wil ik dus dat wanneer ik het user id weet, alle berichten tonen die bij deze user horen. Hoe maak ik dan de sql en laat dat dan weergeven?

Iemand die me een zetje kan geven?
Het ligt eraan om je de data uit twee tabellen wilt halen, of uit één tabel.

Als je twee of meer tabellen erbij wilt betrekken die betrekking op elkaar hebben met een gelijke waarde zoals een ID-nummer bijvoorbeeld, dan kan je JOINs gebruiken.

SELECT u.user_id, u.username, m.message
FROM messages m
INNER JOIN users u
ON u.user_id=m.user_id


Of een enkele tabel:

SELECT user_id, message
FROM messages
WHERE user_id=1234
  $sql = "SELECT users.user_id, user_profiles.user_id
FROM user_profiles
INNER JOIN users
ON users.user_id=user_profiles.user_id";
$query = mysqli_query($db, $sql) or die( mysqli_error($db) );

while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
	echo  $row["user_id"].' '; 


hoe kan ik nu zorgen dat ik ook de profile name weergeef op basis van de id's die overeenkomen?

Ben beginnen dus sorry voor mijn vragen
je moet dan ook users.username meenemen in je select.

maar als ik jouw query zie. Kan een gebruiker meerdere profielen hebben?
Het komt ene beetje vreemd over.

Verder is die() ook niet de oplossing om een fout af te handelen. Daar hebben we if-else voor.

Reageren