Autor Zpráva
Yuff.3
Profil
Ahojte,
Cez funkciu foreach mi vráti príliš veľký počet dát. Ako príklad uvediem: http://4funportal.eu/cs/members.php?sortby=all&rowstart=20 -> čiže ak je na stránke viac ako 20 výsledkov, ostatné zase hodí na ďalšiu stránku. Keby ich aj tam bolo viac ako 20, tak ostatné zase hodí na ďalšiu stránku a takto pokračuje donekonečna..
Jak tohoto docielim??

Vopred ďakujem :)
mimochodec
Profil
Z toho odkazu nevyplývá ohledně velkého počtu dat nic.
Nevím, jak přesně používáš foreach, ale stránkování se běžně řeší už na úrovni získání dat z databáze, a to pomocí LIMIT: http://dev.mysql.com/doc/refman/5.0/en/select.html
lionel messi
Profil
Yuff.3:
Ja som použil tento (mierne upravený) návod: programujte.com/clanek/2009110900-jednoduche-strankovani-v-php (samozrejme je potrebné MySQL).
Yuff.3
Profil
Nejedná sa mi o výpis z DB. Ide o json - výpis z aplikácie a preto potrebujem nejaký iný spôsob..
Konkrétnejšie môžem uviesť, že $premenna -> obsahuje niekoľko záležitostí -> napr. "123456", "23467", "34678", atď atď..
jednotlivých čísel môže byť XY, preto to potrebujem takto rozdeliť na stránky..
A ešte tu môže nastať komplikácia v tom, že stránka - stranka.php je dosť zložitého tvaru, zlepená z niekoľkých cyklov. Čiže jej tvar je stranka.php?stranka=ID&stranka=stranka&nova=novastranka -> a práve sem potrebujem toto "stránkovanie".

Ocenil by som, keby sa dal napísať podrobne či skôr konkrétne kód ako by to mohlo vyzerať..

Vďaka.
mimochodec
Profil
Yuff.3:
Nejdřív si spočítej položky z toho JSONu a vygeneruj si nějakou řadu odkazů pro stránkování. Např. při 100 položkách a 20 pol./str. potřebuješ stránky 1 2 3 4 5. Všechny ty odkazy budou samozřejmě mířit na stejnou stránku, které jen budeš měnit ten parametr rowstart. Ten pak použiješ uvnitř toho foreach - při průchodu č. $rowstart začínáš vypisovat, při $rowstart+19 končíš.
Radek9
Profil
Yuff.3:
Jedná se o postupně indexované pole (myšleno v rozsahu 0-X bez mezer)? Pokud ano, můžeš použít funkci count, která vrací počet prvků v poli. Potom z adresy vezmeš aktuální stránku (pravděpodobně počítanou od jedničky) a vypíšeš z pole for cyklem rozsah ($page - 1) * $itemsOnPage (včetně) až $page * $itemsOnPage (kromě).
Yuff.3
Profil
mimochodec, Radek9:
je to na mňa asi moc zložité :D
Chápem cca ako na to aj čo, ale netrúfam si na ten kód :D

můžeš použít funkci count
ako presne sa používa, resp. ako ten počet prvkov dostanem do $premenna_count ??

Potom
odtiaľto už nechápem :D
jak cyklom vypísať rozhas? aké rozhas? ..

____________
Musíte na mňa trochu podrobnejšie/konkrétnejšie, nie som zdatný v týchto veciach ako vy. :)
Radek9
Profil
Yuff.3:
je to na mňa asi moc zložité
Nepovídej. To už jsem pochopil z tvých předešlých příspěvků zde na diskusi.

ako presne sa používa, resp. ako ten počet prvkov dostanem do $premenna_count ??
Upřímně bych čekal, že tohle napadne i tebe. Funkce v matematice jste brali? Ty v programování se používájí víceméně stejně. Funkci dáš argument (tady zrovna to, co chceš spočítat – takže pole) a vrátí ti výsledek, který můžeš uložit do proměnné. Případně tu je vždycky dokumentace. $itemsCount = count($items);

Před otazníkem se nedělá mezera. Taktéž se píše jen jeden, nikoli dva.

jak cyklom vypísať rozhas? aké rozhas? ..
Pokud se snažíš programovat, jistě by ses měl seznámit s cyklem for, který je jedním z nejdůležitějších stavebních prvků všech programů. Z dokumentace (a hlavně z ukázek) ho jistě pochopíš i s tvými znalostmi angličtiny.

Musíte na mňa trochu podrobnejšie/konkrétnejšie, nie som zdatný v týchto veciach ako vy. :)
Toto není o zdatnosti. Chápu, že každý někdy s programováním začíná a potřebuje poradit i s banálnějšími věcmi. Každý z nás tam byl. Jenže ty jsi sám ve svých příšpěvcích uvedl, že nemáš zájem se programování učit. S tímhle přístupem nemáš naději napsat jakýkoli smysluplnější script a budeš pouze lepit kódy, které ti po žundrání napíší ostatní.

Proto tě prosím. Pokud nemáš zájem projevit vlastní snahu a něco si nastudovat, využij zdejší sekci Práce a zakázky.
Moderátor Chamurappi: Neposílej ho pořád zakládat inzerát. Nesmí. Viz minule.
Yuff.3
Profil
Virtus
Prosím ťa, môžem mi sem napísať ten kód? :D
Kubo2
Profil
Yuff.3:
Úprimne, mám pocit, že Virtus nemá s týmto vláknom absolútne nič spoločné. Poznáš pravidlá, preto ti navrhujem, aby si sa nimi začal riadiť.
lionel messi
Profil
Kubo2:
Nejako sa opakujeme. :-)
Yuff.3
Profil
:D Admin a tieto ich príspevky majú aký význam?? :D Toto nebudeš dávať do koša? :D

Moderátor Alphard: Přínosné nejsou, nicméně podobných je tady víc. Ještě si to rozmyslím.
V každém případě se pokuste být konstruktivní. Vhodný způsob, jak oživit vlákno, je napsat, že jste alespoň trochu pokračil sám.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: