[PHP] Zapytanie do MYSQL !

0

Witam!

Nie wiem jakie mam napisać zapytanie do bazy, mianowicie mam 2 tabele.

Pierwsza tabela "game_user" mam pola:

id - numer kolejnego wiersza
user_id - id uzytkownika
game_id - id gry

druga tabela "game" zawiera dane o grach i ma

game_id - id gry
title
img
... - i tu rozne dane.

Najpierw chce poprac z pierwszej tabeli wszystkie game_id danego urzytkownika.
czyli ( SELECT game_id FROM game_user WHERE user_id=jakis_id_uzytk ORDER BY id DESC )

Następnie z pobranych game_id chcę pobrać z drugiej tabeli dane o grach w tej samej kolejności co pobrane game_id z pierwszej tabeli.

i zrobiłe w sumie coś takiego:

$zap = "select game_id from game_user Where user_id=".$dany_user." ORDER BY id DESC";
 $wyn = mysql_query($zap, $dblink);
 

 while ($dane = mysql_fetch_array($wyn)) {
   
 $zap2 = "select * from game where game_id=".$dane['game_id'];
 $wyn2 = mysql_query($zap2, $dblink);

   while ($dane2 = mysql_fetch_array($wyn2)) {

     // tu kod wyswietlajacy dane

   }
 }  

I wszystko działa jak należy!, z tym ze na wyświetlenie strony czeba długo czekać zanim pobierze dane o wybranych grach! Czy możena to inaczej zrobic? stosując jakieś inne zapytania? prosze o pomoc !!!!!!!!!

0

Hmm...

$sql = 'SELECT game_id FROM game_user WHERE user_id = 1'
$result = mysql_query($sql);

$ary = array();

while ( $row = mysql_fetch_array($result) ) 
{
    $ary[] = $row['game_id'];
}

$sql = 'SELECT * FROM game WHERE game_id IN(' . implode(', ', $ary) . ')';
$result = mysql_query($sql);

while ( $row = mysql_fetch_array($result) ) 
{ }

Oczywiscie nie testowane...

0

Działa, tylko niestety nie pobiera z tabeli2 rekordow w takiej samej kolejności jak wybrane numerki z pierwszej tabeli :-/

1 użytkowników online, w tym zalogowanych: 0, gości: 1