Autor Zpráva
Tomas.ek
Profil *
Ahoj, pár měsíců zpátky jsme tu řešili tenhle dotaz, rady nezabrali, teď to ale potřebuju konečně dořešit :-(

Takže můj dotaz: (nelekněte se)

$dotazfirm2 = "(SELECT * FROM firmy WHERE zaznam = 1 AND zverejnit = 1 AND  kategorie LIKE ('%".$filter."%') 
AND MATCH (nazev,adresa,obec,osoba,popis,rozsirena,klicovky) AGAINST ('$odeslat')  ".$dotazla."   ORDER by  id,RAND()) 

union

 (SELECT * FROM firmy WHERE zaznam <> 1 AND zverejnit = 1 AND  kategorie LIKE ('%".$filter."%') AND MATCH (nazev,adresa,obec,osoba,popis,rozsirena,klicovky) AGAINST ('$odeslat')  ".$dotazla.") LIMIT $lister,10";



problém je v tom řazení prvního oddílu z unionu -

ať tam je ORDER by id,RAND()) nebo ORDER by RAND())

výsledky mi to hází pořád stejně, už si s tím opravdu nevím rady :-(

neporadíte?
Kajman_
Profil *
Vyhoďte id a zkuste dát union all.
Tomas.ek
Profil *
$dotazfirm2 = "(SELECT * FROM firmy WHERE zaznam = 1 AND zverejnit = 1 AND kategorie LIKE ('%".$filter."%')
AND MATCH (nazev,adresa,obec,osoba,popis,rozsirena,klicovky) AGAINST ('$odeslat') ".$dotazla." ORDER by RAND())

union all

(SELECT * FROM firmy WHERE zaznam <> 1 AND zverejnit = 1 AND kategorie LIKE ('%".$filter."%')
AND MATCH (nazev,adresa,obec,osoba,popis,rozsirena,klicovky) AGAINST ('$odeslat') ".$dotazla.") LIMIT $lister,10";

pořád stejné
Rampa.MC.Quack
Profil *
mě se to zdá ok
Tomas.ek
Profil *
ale neni :-D
nightfish
Profil
vrací ten první dotaz sám o sobě něco?
Tomas.ek
Profil *
vrací oba, ale neřadí se náhodně :-(
Kajman_
Profil *
Zkuste
$dotazfirm2 = "SELECT * FROM firmy WHERE zverejnit = 1 AND  kategorie LIKE ('%".$filter."%') 
AND MATCH (nazev,adresa,obec,osoba,popis,rozsirena,klicovky) AGAINST ('$odeslat')  ".$dotazla."
ORDER by  zaznam <> 1,RAND()
LIMIT $lister,10";
Tomas.ek
Profil *
Kajman:

- tak toto funguje, jenže je problém ten, že já potřebuju aby se náhodně řadily jen hodnoty se zaznam==1 :-(
Kajman_
Profil *
A ty se záznam !=1 se mají řadit podle čeho? Co třeba něco takového?


$dotazfirm2 = "SELECT firmy.*, MATCH (nazev,adresa,obec,osoba,popis,rozsirena,klicovky) AGAINST ('$odeslat') rel FROM firmy WHERE zverejnit = 1 AND  kategorie LIKE ('%".$filter."%') 
AND MATCH (nazev,adresa,obec,osoba,popis,rozsirena,klicovky) AGAINST ('$odeslat')  ".$dotazla."
order by if(zaznam=1,rand(),2), rel desc
LIMIT $lister,10";
Tomas.ek
Profil *
Kajman_ :

Moc děkuji, jste snad jedinej kterej tady ví vždy všechno :-D
Toto téma je uzamčeno. Odpověď nelze zaslat.

0