[ mickey.co.ba @ 07.05.2008. 14:21 ] @
Interesuje me dali se mogu iz dvije razlicite tabele izvuci podaci kroz jedan upit... znam da moze ali je to kod mene malo komplikovaniji problem...

u jednoj tabeli koja se zove forum_teme imam (Naziv, IDteme) a u drugoj tabeli koja se zove forum_procitano imam (tema i korisnik), tema je isto kao i IDteme, hocu rec isti broj odnosno jedinstveni ID teme...

Ono sto ja trenutno radim jeste sljedece:
Code:

 function forumNovo($broj){
  global $id_korisnika;
  $u = "SELECT IDteme, Naziv FROM forum_teme LIMIT $broj";
  $i = mysql_query($u) or die(mysql_error());

  while($r = mysql_fetch_array($i)){
    
  $procitano = mysql_fetch_array(mysql_query("SELECT COUNT(tema) FROM forum_procitano WHERE korisnik = '".$id_korisnika."' AND tema = '".$r[IDteme]."' LIMIT 1"));
  $procitano = $procitano['COUNT(tema)'];
 

  if($procitano){
    $slika_procitano = '<img src="gfx/list_1.gif" title="Ovu temu si pročitao">';
  }else{
    $slika_procitano = '<img src="gfx/list_0.gif" title="Ova tema ima novih komentara">';
  }

  echo '<div>'
      .$slika_procitano.'<b><a href="?stranica=forum&&tema='.$r[id].'">'.htmlspecialchars(stripslashes($r[naziv])).'</a></b>'
      .'</div>';
  }



znaci imaju dva upita a ja bi to ako je moguce samo s jednim, jedan upit je mi provjerava teme a drugi provjerava dali je korisnig citao temu ili ne...

eto ako neko zna ovo strpat u jedan upit bio bi mu veoma zahvalan...
[ afwt @ 07.05.2008. 22:43 ] @
eve ti:

Code:

SELECT
t1.IDteme,
t1.Naziv,
COUNT(t2.tema) AS ProcitaoPuta
FROM
forum_teme t1
LEFT JOIN
forum_procitano t2
ON
t2.tema = t1.IDteme
AND
t2.korisnik = '$id_korisnika'
GROUP BY
t1.IDteme
LIMIT $broj


Nema na cemu. ;)
[ mickey.co.ba @ 07.05.2008. 23:07 ] @
hvala ti afwt...
[ Ivan Stanojevic @ 17.06.2008. 06:58 ] @
umesto fetch_array koristi fetch_assoc ili fetch_row

u ovom slucaju da bi jos skratio php kod mozes i samo mysql_num_rows pa ti to vraca 0 ili 1

stavi i

mysql_free_result ($i) ispod hwhile