Autor Zpráva
ph@tE
Profil *
Potřeboval bych vědět, jak můžu vyhledávat ve více tabulkách najednou. Mám toto:
$vysledek = mysql_query("SELECT * FROM freestyle WHERE (Nazev like '%$slovo%') OR (Popis like '%$slovo%') LIMIT $od,$do");

Potřeboval bych ale, aby se najednou v tomto dotazu vyhledávalo v šesti tabulkách, zkoušel jsem je oddělit čárkami, ale to je asi blbost, jak jsem zjistil. Představoval jsem si to nějak takto:
$vysledek = mysql_query("SELECT * FROM freestyle,hudba,webdesign,blog,grafika,kontakt WHERE (Nazev like '%$slovo%') OR (Popis like '%$slovo%') LIMIT $od,$do");

Snad to vůbec jde...
WanTo
Profil
ph@tE
Pomocí příkazu UNION:

SELECT * FROM freestyle WHERE (Nazev LIKE '%$slovo$') OR (Popis LIKE '%$slovo%') UNION ALL
SELECT * FROM hudba WHERE (Nazev LIKE '%$slovo$') OR (Popis LIKE '%$slovo%') UNION ALL ...

Akorát nevím, kam se má psát LIMIT, asi na úplný konec dotazu.
ph@tE
Profil *
Tak jsem to udělal takto ( prozatím bez limitu ) a píše mi to tuto chybu:
$result = mysql_query("SELECT * FROM freestyle WHERE (Nazev like '%$slovo%') OR (Popis like '%$slovo%') UNION ALL SELECT * FROM hudba WHERE (Nazev like '%$slovo%') OR (Popis like '%$slovo%')");
$pocet = mysql_NumRows($result);

Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in c:\inet_srv\http\doc_root\new\cz\obsahy\search.php on line 57

Když dám union pryč, tak to normálně funguje, ale logicky to vyhledává pouze v tabulce freestyle
nightfish
Profil
za mysql_query dej echo mysql_error(); a obstastni nas chybovou hlaskou, kterou to vyhodi...
ph@tE
Profil *
Toto, ale moc to nechápu:
Va-Bąe syntaxe je nějaká divná bl-Bízko 'UNION ALL SELECT * FROM hudba WHERE (Nazev like '%a%') OR (Popis' na řádku 1
nightfish
Profil
nahraď UNION ALL za UNION
Toto téma je uzamčeno. Odpověď nelze zaslat.

0