2 tabellen query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Elian degroot

elian degroot

06/12/2006 05:08:00
Quote Anchor link
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,

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?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");

if( ! $Res = @ mysql_query( $Sql ) )
   die( 'Query mislukt!' );

 ?>


met verschillend varianten heb ik het dus op die manier zelf willen doen,
maar telkens "Query mislukt!"
waar en wat doe ik fout?
met dank
 
PHP hulp

PHP hulp

19/11/2024 06:38:47
 
Luc Zontrop

Luc Zontrop

06/12/2006 05:35:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?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");

if( ! $Res = @ mysql_query( $query ) )
   die( 'Query mislukt!' );

 ?>


Deze zal wel lukken denk k
 
Frank -

Frank -

06/12/2006 11:10:00
Quote Anchor link
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.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
Kalle P

Kalle P

06/12/2006 11:22:00
Quote Anchor link
ug.group_id = 327

dan wel.
 
Elian degroot

elian degroot

06/12/2006 12:06:00
Quote Anchor link
tja, ik had mijn query zo begrepen uit een boek
mis dus

mijn oprechte dank voor de hulp
ik ga dus aan slag met het bovenstaande
 
Nick

nick

11/12/2006 12:26:00
Quote Anchor link
Gebruik in de query een inner of outer join, zo kan je in 1 query alle gegevens ophalen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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 '] )

}


?>
 
Elwin - Fratsloos

Elwin - Fratsloos

11/12/2006 13:40:00
Quote Anchor link
nick schreef op 11.12.2006 12:26:
Gebruik in de query een inner of outer join, zo kan je in 1 query alle gegevens ophalen.
De query van Frank bevat ook een inner join. Dit hoef je niet persé te maken met INNER JOIN foo ON bar.

Elwin
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.