Autor Zpráva
Lion76
Profil *
Zdravim, asi to bude blbost, ale zajimalo by mne, jestli lze v db dotaze pouzit else, abych nemusel pouzivat dva dotazy. Lze tohle nejak zjednodusit?

$sql = "SELECT t1.nazevKategorie AS s1, t2.nazevKategorie AS s2 FROM kategorie AS t1, kategorie AS t2 WHERE t1.kseo = 'neco' AND t2.kseo = 'neco-dalsiho'";

if(!($query = mysql_query($sql, spojeni('1')))){
echo "- Došlo k chybě:\n".mysql_error();
}

if(!mysql_affected_rows()){

$sql = "SELECT t1.nazevKategorie, t2. nazevZbozi FROM kategorie AS t1, zbozi AS t2 WHERE t1.kseo = 'neco' AND t2.zseo = 'neco-dalsiho'";


if(!($query = mysql_query($sql, spojeni('1')))){
echo "- Došlo k chybě:\n".mysql_error();
}

if(!mysql_affected_rows()){
// dojde k presmerovani na chybovou stranku
}
Kajman_
Profil *
Stačí např. oba dotazy spojit pomocí union.
Lion76
Profil *
Kajman_

Skvele funguje to, ale ja bych potreboval, aby vypis dat byl vedle sebe a ne pod sebou a taky, aby se nevypsalo nic, pokud nejsou vsechny podminky dotazu splneny.

Mam to ted takto:


(SELECT nazevKategorie FROM kategorie WHERE kseo = 'neco1')
UNION
(SELECT nazevKategorie FROM kategorie WHERE kseo = 'neco2')
UNION
(SELECT nazevZbozi FROM zbozi WHERE zseo = 'neco3')
Kajman_
Profil *
možná

select
(SELECT nazevKategorie FROM kategorie WHERE kseo = 'neco1') neco1,
(SELECT nazevKategorie FROM kategorie WHERE kseo = 'neco2') neco2,
(SELECT nazevZbozi FROM zbozi WHERE zseo = 'neco3') neco3
having neco1 is not null and neco2 is not null and neco3 is not null
Lion76
Profil *
Kajman_

Asi to nepujde, vypis to chybu

#1064 - Va-B�e syntaxe je n�jak� divn� bl-B�zko 'having neco1 is not null and neco2 is not null and neco3 is not ' na ��dku 5
Kajman_
Profil *
Tak zkuste ještě něco jako

select
(SELECT nazevKategorie FROM kategorie WHERE kseo = 'neco1') neco1,
(SELECT nazevKategorie FROM kategorie WHERE kseo = 'neco2') neco2,
nazevZbozi FROM zbozi WHERE zseo = 'neco3'
having neco1 is not null and neco2 is not null
Lion76
Profil *
Kajman_

Jste jednicka, funguje to. :-) Mockrat dekuji.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0