Autor | Zpráva | ||
---|---|---|---|
Monkeys Profil * |
#1 · Zasláno: 19. 6. 2012, 18:00:43
Ahoj
potrebujem vypisat 15 ziaroviek v tomto poradi podla ich ID: $poradie = array('13','14','15','12','11','9','10','1','2','3','4','5','6','7','8',); $dotaz = 'SELECT maly_obr, nazov, id_ledky, cena, popis FROM gu10_led WHERE id_ledky IN('; foreach($poradie as $kluc => $hodnota){ $dotaz .= $hodnota .","; } $dotaz = substr($dotaz, 0, -1). ') LIMIT '.$pociatok.','.$zobrazit.''; ale vypisuje mi to podla $kluca (indexu) takze vypis je zli neviem kde robim chybu poradite mi ? vdaka M. |
||
Someone Profil |
#2 · Zasláno: 19. 6. 2012, 18:05:56
Monkeys:
Použij implode
|
||
Tori Profil |
#3 · Zasláno: 19. 6. 2012, 18:51:19
Monkeys:
Zkuste tohle: SELECT * FROM (SELECT maly_obr, nazov, id_ledky, cena, popis, FIND_IN_SET(id_ledky, '13,14,15,12,11,9,10,1,2,3,4,5,6,7,8') 'poradi' FROM gu10_led) tab WHERE poradi > 0 ORDER BY poradi |
||
Tori Profil |
#4 · Zasláno: 19. 6. 2012, 21:52:33
Tak přece to jde jednodušeji, s použitím funkce FIELD(): ORDER BY - posloupnost jako v podmínce IN
|
||
Monkeys Profil * |
#5 · Zasláno: 19. 6. 2012, 22:37:52
Tori:
vyriesil som to nakoniec takto a funguje to: $poradie[] = "13,14,15,12,11,9,10,1,2,3,4,5,6,7,8"; $dotaz = 'SELECT maly_obr, nazov, id_ledky, cena, popis FROM gu10_led WHERE id_ledky IN('; foreach($poradie as $kluc => $hodnota){ $dotaz .= $hodnota .","; } $dotaz = substr($dotaz, 0, -1). ') ORDER BY FIELD(id_ledky, 13,14,15,12,11,9,10,1,2,3,4,5,6,7,8) LIMIT '.$pociatok.','.$zobrazit.''; $vysledok = mysql_query ($dotaz); vdaka vyriesene |
||
Časová prodleva: 12 let
|
0