Autor Zpráva
mates99
Profil *
Ahoj, potřeboval bych poradit, jak mám zobrazit data ze dvou tabulek v mysql. Mám dva dotazy, které my samostatně fungují. Zkusil jsem dát do jednoho a spojit je jako UNION.

Tabulka Katalog :
ID_katalog
ID_uzivatele
ID_kategorie
Nazev_produktu
Popis_produktu

Tabulka Uzivatele :
ID_uzivatele
Uzivatelske_jmeno

$result = mysql_query("SELECT ID_katalog, ID_kategorie, Nazev_produktu, Popis_produktu FROM Katalog WHERE ID_kategorie='$ID_kategorie') UNION ALL (SELECT Katalog.ID_uzivatele, Uzivatele.Uzivatelske_jmeno "."FROM Katalog, Uzivatele ". "WHERE Katalog.ID_uzivatele = Uzivatele.ID_uzivatele"); 

while ($row = mysql_fetch_array($result)) {
echo $row['Uzivatelske_jmeno'];
echo $row['Nazev_produktu'];
echo $row['Popis_produktu'];
  } 




Háže mi to tuhle chybu
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/free/v/root/www/katalog.php on line 18
 


Poradil by mi někdo jak to mám udělat?
joe
Profil
Vyzkoušej dotaz třeba v phpMyAdmin, jestli ti vrátí nějaký výsledek.
Sicario
Profil *
mates99
Ne union, ale join potrebujes.
select k.*, u.Uzivatelske_jmeno 
from Katalog as k
join Uzivatele as u
  on u.ID_uzivatele = k.ID_uzivatele

Na konec dotazu lze doplnit WHERE s ruznymi podminkami:-)

Jinak to varovani, co ti skript vypisuje je pouze dusledkem spatne sestaveneho dotazu. Pro urceni chyby v dotazu pouzivej echo mysql_error();.
Měsíček
Profil
Před UNION ALL máš závorku, která ovšem nikde nezačíná.
mates99
Profil *
mates99
Ne union, ale join potrebujes.
select k.*, u.Uzivatelske_jmeno
from Katalog as k
join Uzivatele as u
on u.ID_uzivatele = k.ID_uzivatele
Na konec dotazu lze doplnit WHERE s ruznymi podminkami:-)
Jinak to varovani, co ti skript vypisuje je pouze dusledkem spatne sestaveneho dotazu. Pro urceni chyby v dotazu pouzivej echo mysql_error();.



To je přesně to co jsem potřeboval. Dík moc.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0