| 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: 17 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0