Dag iedereen, ik moet helaas nogmaals julie hulp vragen
ik heb 2 tabellen,
group en users
in group moet ik uit het veld id alle id's hebben, die in de record groepsnr 327
bevatten
in tabel users wil ik het email, naam en id nr hebben waarvan het id nr hetzelfde is als uit de tabel group
ik heb het dus zo geprobeerd,
<?php
include "connect.php"
$query = mysql_query("SELECT user_id, username, user_email FROM users, user_group WHERE user_id = user_id AND group_id = 327");
Eerst een paar opmerkingen:
- $query is geen query maar een resultset. $result is dus een betere naam
- Waarom de query uitvoeren en vervolgens het resultaat als query nog eens uitvoeren? Dat gaat natuurlijk fout. Je hebt slechts 1 query en dus is er ook maar 1 query die je kunt uitvoeren.
- Met een @ onderdruk je foutmeldingen. Hoe wil je dan gaan debuggen?
- 'Query mislukt' zegt niets over het probleem, daar heb je niets aan. Gebruik mysql_error() om de echte foutmelding te achterhalen.
Dan het probleem:
Wanneer je gegevens uit 2 tabellen wilt halen, zul je per kolom moeten aangeven uit welke tabel deze moet komen.
<?php
include "connect.php"
$query = "
SELECT
u.user_id,
u.username,
u.user_email
FROM
users AS u,
user_group AS ug
WHERE
u.user_id = ug.user_id
AND
ug.group_id = 327";
$result = mysql_query($query);
if($result){
while($row = mysql_fetch_assoc($result){
echo $row['user_id'].$row['username'].$row['user_email'];
}
}
else {
echo 'Query mislukt vanwege: '.mysql_error();
}
?>
Let ook op de aliassen die zijn aangemaakt, dat maakt het een stuk eenvoudiger. Welke gegevens uit welke tabel moeten komen, weet ik niet en heb ik dus maar wat voor ingevuld. Ga er dus maar van uit dat deze query niet werkt, maar de juiste basis heb je nu.
Edit: Kalle bedankt! Query aangepast, alias is nu goed gebruikt.
Gebruik in de query een inner of outer join, zo kan je in 1 query alle gegevens ophalen.
<?php
$strSQL = "Select * from group
inner join users on
( group.user_id = users.user_id )
where group_id = 327";
$result = mysql_query($strSQL);
while ($rs = mysql_fetch_assoc($result)){
Doee je shitt:P ( alles is aan te roepen via: $rs[' hier de veld naam '] )
}
?>