Autor | Zpráva | ||
---|---|---|---|
S. Profil * |
#1 · Zasláno: 13. 5. 2008, 09:08:08
Zdravím,
mám takový problém. Mám databázi o 60ti záznamech, kde mimo jiné ukládám i datum uložení záznamu. Chtěla bych vybrat posledních 5 záznamů (nejnovějších) a z těch pěti potom generovat jeden náhodně, který se uloží a později ho vypíšu. Asi nějak takhle: $sql = mysql_query(SELECT * FROM rss WHERE id = ANY (ARRAY (SELECT random id FROM rss(1,5))) ORDER BY date DESC LIMIT 1"); $row = mysql_fetch_array($sql); Tady toto samozřejmě nefunguje, ale nemůžu přijít na to, jak ten dotaz zapsat správně. Tak aby v té proměnné $row byla při každé aktualizaci stránky jiná hodnota (z těch 5ti posledních)... Neporadil byste mi někdo, prosím? Moc děkuju. |
||
nightfish Profil |
#2 · Zasláno: 13. 5. 2008, 09:25:23
select * from rss where id in (select id from rss order by `datum` desc limit 5) order by rand() limit 1
Tak aby v té proměnné $row byla při každé aktualizaci stránky jiná hodnota (z těch 5ti posledních) 1) $row bude obsahovat pole, ne jednu hodnotu 2) pokud chceš pokaždé jinou hodnotu, tak si zřejmě budeš muset pamatovat historii, pseudonáhodný generátor ti to nezaručí (a nejpozději v 6. aktualizaci se ti zobrazí už jednou dříve zobrazený záznam) |
||
S. Profil * |
#3 · Zasláno: 13. 5. 2008, 09:34:11
Jasne, v 6. aktualizaci se hodnota bude opakovat, s tím počítám. Tak geniání to zas být nemusí :-)
Ale když zadám: $random = array(); $sql = mysql_query("SELECT * FROM rss WHERE id IN (SELECT id FROM rss ORDER BY parse_date DESC LIMIT 5) ORDER BY rand() LIMIT 1"); while ($row = mysql_fetch_array($sql)) { $random[] = $row; } Tak mi to vyhodí: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\web\www\libs\classes\class.MyRss.php on line 106 Nevíš kde by mohla být ještě chyba? Děkuju.. |
||
srigi Profil |
#4 · Zasláno: 13. 5. 2008, 09:44:55
Tak si vytiahni iba 5 poslednych zaznamov do pola a pole zasuffluj (PHP maual) a vyber z pola vzdy prvy prvok. Takto sa ti zaisti randomizacia.
|
||
S. Profil * |
#5 · Zasláno: 13. 5. 2008, 09:55:05
srigi
Perfektní, děkuju, už mi to jede! :-) |
||
nightfish Profil |
#6 · Zasláno: 13. 5. 2008, 10:01:16
S.
Nevíš kde by mohla být ještě chyba? nevím, ale funkce mysql_error() to vědět bude, tak se jí zeptej |
||
S. Profil * |
#7 · Zasláno: 13. 5. 2008, 10:11:56
nightfish
Teď už to mám hotové, ale příště se jí určitě zeptám. Díky za radu ;-) |
||
Časová prodleva: 16 let
|
0