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 * |
#2 · Zasláno: 6. 11. 2008, 07:26:45
Vyhoďte id a zkuste dát union all.
|
||
Tomas.ek Profil * |
#3 · Zasláno: 6. 11. 2008, 11:34:45
$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 * |
#4 · Zasláno: 6. 11. 2008, 12:26:23
mě se to zdá ok
|
||
Tomas.ek Profil * |
#5 · Zasláno: 6. 11. 2008, 12:28:16
ale neni :-D
|
||
nightfish Profil |
#6 · Zasláno: 6. 11. 2008, 12:31:04
vrací ten první dotaz sám o sobě něco?
|
||
Tomas.ek Profil * |
#7 · Zasláno: 6. 11. 2008, 12:42:32
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 * |
#9 · Zasláno: 6. 11. 2008, 22:51:43
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 * |
#10 · Zasláno: 7. 11. 2008, 08:30:02
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"; |
||
Časová prodleva: 3 dny
|
|||
Tomas.ek Profil * |
#11 · Zasláno: 10. 11. 2008, 17:16:29
Kajman_ :
Moc děkuji, jste snad jedinej kterej tady ví vždy všechno :-D |
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0