Zadejte hledaný výraz...

Procházení záznamů v řadě

Milan Seitler
verified
rating uzivatele
(5 hodnocení)
4. 9. 2010 16:45:50
Řeším následující problém - vypisuji na stránku seznam nějakých položek, odkazy vedou na detail položky. Já teď chci v detailu položky zobrazit odkazy na předcházející položku a následující položku. Další problém je v tom, že seznam lze zároveň řadit podle dvou kritérií, takže nemám představu o tom, jak předávat do detailu položky údaje o tom, která položka je před ní a za ní...napadá vás, jak na to? Zřejmě budu muset nějak předávat celou query z databáze a nějak zjišťovat aktuální polohu, ale moc mi to nejde do hlavy..díky
4. 9. 2010 16:45:50
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553144
hm
verified
rating uzivatele
(20 hodnocení)
4. 9. 2010 17:00:41
vcelku jednoduse, asi bych an to udelal dva dotazy nejakeho podbneho znei, treba pokud se bude radit dle id tak takto
predchozi
SELECT sloupec,dalsi_sloupec FROM zaznamy WHERE id
a nasledujici
SELECT sloupec,dalsi_sloupec FROM zaznamy WHERE id>id_zaznamu_v_detailu ORDER BY id ASC LIMIT 1
samozrejme id_zaznamu_v_detailu nahrad v php idckem zaznamu co mas zobrazen...
co se tyka predavani toho razeni tak jendoduse promennou v url treba? proc predavat cely dotaz nebo podobne, proste si predej v jedne promenne podle ceho radit v druhe jetsli sestupne nebo vzestupne z toho pak vznikne nasledujici/predchozi ackoliv by bylo lepsi kdybys udelal detail jen s jednim razenim a to proto, ze vic typu razeni v detailu budou prohlizece brat jako duplicitni obsah (pokazde to bude mit jinou url) - na to bacha...
a taky nezapomen abys to nepredaval z promenne primo do dotazu, ale aby to proslo validaci jetsli tam nekdo nechtel podstrcit neco jineho...
4. 9. 2010 17:00:41
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553143
ETNyx
verified
rating uzivatele
(2 hodnocení)
4. 9. 2010 17:12:18
Tak dva parametry by mělo jít řešit tak že řazení si pošlete zkrz formulář metodou POST a uložite do COOKIES. Navíc získáte přijemnou vlatnost a to že si řazení nemusí uživatel furt dokolo nastavovat :-) (vyhledávače to budou mít bez řazení všechno a nebudou žádné duplicity)
K tomu PHP/SQL problému, teoreticky mne napadlo, že by to mohlo jít řešit jednim dotazem s LIMIT 3 s tím že budete odesílat id první stránky v řadě ale ta skutečně zobrazovaná bude až ta druhá. Jen je potřeba ošetřit limitní případy (asi jen jeden a to když budete chtit zobrazit první stránku u poslední se to vyřeší samo :-) ) Snad tam nemam žádnou díru :-)
4. 9. 2010 17:12:18
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553142
Milan Seitler
verified
rating uzivatele
(5 hodnocení)
4. 9. 2010 17:26:36
To s tím id mě taky napadlo, jenže je to ve více kategoriích, id položek nejdou logicky popořadě takže to nelze použít..
4. 9. 2010 17:26:36
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553141
ETNyx
verified
rating uzivatele
(2 hodnocení)
4. 9. 2010 17:39:27
$_GET bude obsahovat stranku kterou aktualne prohlizite. bude nezávyslé na ID prostě jako cislo stranky v knižce
tohle by snad mohlo fungovat :-)
4. 9. 2010 17:39:27
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553140
A co když do $_GET dám: UNION ALL SELECT 0,...,password FROM users LIMIT x,y
Tyhle rady fakt miluju, $_GET natvrdo v dotazu...
Já bych poradil, ale nevím v čem je problém. Ukaž kód kam to chceš dát..
4. 9. 2010 18:40:00
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553139
pokud to správně chápu, tak jednoduše předávej i do detailu informace o tom jak se má ten seznam řadit. Většinou se používá GET proměná.
4. 9. 2010 19:57:38
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553138
ETNyx
verified
rating uzivatele
(2 hodnocení)
4. 9. 2010 20:01:38
A co když do $_GET UNION ALL SELECT 0,...,password FROM users LIMIT x,y nejde vložit protože mám hodnotu v $_GET predem overenou? Tyhle chytrolyny, kteří z 5% kódu aplikace usuzují jaké jsou aplikace fakt miluju. ($_GET je pole jako každé jiné, takže to ani nemusí příjít z URL adresy)
Přeji pěkný den :-)
4. 9. 2010 20:01:38
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553137
V tom prikladu to overene neni a injekce by fungovala.
A i kdyby jsi to overeval, tak mi to prijde jako dobra prasecina.
4. 9. 2010 20:45:37
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553136
hm
verified
rating uzivatele
(20 hodnocení)
4. 9. 2010 21:01:04
Napsal majlan;564335
To s tím id mě taky napadlo, jenže je to ve více kategoriích, id položek nejdou logicky popořadě takže to nelze použít..
blbost, poprade jdou, sice to neni -/+ 1 ale poporade zcela logicky jit musi... pokud ne, pak je neco spatne uz v navrhu aplikace :)
4. 9. 2010 21:01:04
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553135
Milan Seitler
verified
rating uzivatele
(5 hodnocení)
4. 9. 2010 21:13:17
No jo, jenže já je implicitně řadím už podle ceny (druhé kritérium je datum) a to už pak popořadě nejsou
hmm, jenže když si tam narvu get parametr, tak se mi tím zeškaredí url :)
4. 9. 2010 21:13:17
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553134
Napsal majlan;564479
No jo, jenže já je implicitně řadím už podle ceny (druhé kritérium je datum) a to už pak popořadě nejsou
hmm, jenže když si tam narvu get parametr, tak se mi tím zeškaredí url :)
Taže chceš, aby "Předchozí" byl nejbližší záznam k aktuálnímu směrem dolů (podle ceny) a "Další" byl nejbližší směrem nahoru?
Pokud už máš zobrazenou nějakou položku, tak znáš její cenu, ne? Třeba 51. (takže naco další parametry do GET, když už znáš způsob řazení i výchozí hodnotu?)
Pak už stačí poslat další dotaz s podmínkou WHERE cena 51 ORDER BY - podle toho, co chceš.
Kdybys sem pastnul kus kódu s nějakým lepším popisem co chceš, určitě by ti někdo poradil. Takhle se tu motáme mezi cenama a id :)
Kdyžtak mi to můžeš poslat do PM, klidně pomůžu když budu vědět jak :)
4. 9. 2010 21:24:06
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553133
hm
verified
rating uzivatele
(20 hodnocení)
4. 9. 2010 23:13:49
Napsal majlan;564479
No jo, jenže já je implicitně řadím už podle ceny (druhé kritérium je datum) a to už pak popořadě nejsou
hmm, jenže když si tam narvu get parametr, tak se mi tím zeškaredí url :)
vsak ty dotazy se klidne muzou misto id zmenit na cenu... v cem je problem? nechapu...
4. 9. 2010 23:13:49
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553132
Napsal majlan;564479
No jo, jenže já je implicitně řadím už podle ceny (druhé kritérium je datum) a to už pak popořadě nejsou
hmm, jenže když si tam narvu get parametr, tak se mi tím zeškaredí url :)
hláška dne - "get parameter zaškaredí url" :D
4. 9. 2010 23:46:18
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553131
Milan Seitler
verified
rating uzivatele
(5 hodnocení)
4. 9. 2010 23:53:20
Nojo :D Já to myslel tak, že ji mám ve tvaru detail/url-detailu a nerad bych tam měl něco dalšího ;) zítra na to mrknu a dám vědět..zatím díky všem
4. 9. 2010 23:53:20
https://webtrh.cz/diskuse/prochazeni-zaznamu-v-rade/#reply553130
Pro odpověď se přihlašte.
Přihlásit