[ Príspevkov: 21 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
strankovanie pri vypise z XML

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
NapísalOffline : 07.12.2011 22:07 | strankovanie pri vypise z XML

Pomocou PHP parsujem XML subor, ktory obsahuje asi 50 udajov.

Na stranke teda z toho XML suboru dam vypisat tie udaje v poradi ako to je v XML.

Chcel by som vsak dosiahnut, aby na stranke vypisalo len prvych 10 zaznamov, a po kliknuti na stranku 2 dalsich 11-20 zaznamov atd.. proste klasicke strankovanie.

Keby som to mal vypisat z DTB, tak nie je problem strankovanie pomocou LIMIT, avsak ked to taham z XML suboru, neviem si rady.

Len pre info: udaje vypisujem v cykle
Kód:
foreach($content->NAZVY as $adx) {echo ...  atd.}


diky vopred


Offline

Užívateľ
Užívateľ
strankovanie pri vypise z XML

Registrovaný: 05.09.09
Príspevky: 1157
Témy: 127 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 07.12.2011 23:28 | strankovanie pri vypise z XML

Ak toho nieje nejak veľa tak to daj do session. Inak to jedine dať do db aj keď z tade sa to bude musieť zase nejako parsovať...

Vlastne veď si nastavíš nejakú premennú X na dajme tomu 20(záznamy od 20 vyššie), to podľa toho čo ti príde cez $_GET['page'] a inkrement Y ktorý budeš v tom cykle porovnávať s tým X. A vypíšeš len tie od Y=20 po koľko chceš.


Offline

Správca fóra
Správca fóra
strankovanie pri vypise z XML

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 08.12.2011 8:51 | strankovanie pri vypise z XML

jednoducho si do $content vlozis len tie zaznamy, ktore sa maju zobrazit na aktualnej stranke - poznas cislo stranky, vies kolko zaznamov sa ma na jednej stranke zobrazit - nie je nic lahsie ako pouzit napr. position() v xpath, pomocou coho si vyselektujes zaznamy, ktore presne potrebujes (od - do)


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
strankovanie pri vypise z XML

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
Napísal autor témyOffline : 08.12.2011 18:04 | strankovanie pri vypise z XML

diky za odpovede, asi to spravim ako navrhuje stenley. Avsak nevyhodou je, ze po kazdom vypise daneho poctu zaznamov bude musiet stale spracuvat ten XML subor, ktory je externy a znamena to zbytocnu zataz daneho servera.

Teraz je tych zaznamov cca. 50, ale casom ak ich bude viac to moze byt i problem.

A taktiez, ak sa na stranke vypise napr. prvych 10 zaznamov, a medzitym sa XML subor na externom serveri zmeni - updatne o dalsie zaznamy, alebo z neho nieco vymazu, tak uz dany vypis nebude aktualny a strankovanie nemusi fungovat spravne...

Napriek tomu sa mi to zatial zda ako rozumne riesenie.


Offline

Užívateľ
Užívateľ
strankovanie pri vypise z XML

Registrovaný: 05.09.09
Príspevky: 1157
Témy: 127 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 08.12.2011 18:54 | strankovanie pri vypise z XML

Keby tá aktualizácia toho XML nebola taká fatálna, tak by sa to dalo riešiť tak, že by si napr. raz za deň cez CRON volal ten parser a ten by ti to uložil do DB. A aplikácia by to už ťahala z DB.


Offline

Skúsený užívateľ
Skúsený užívateľ
strankovanie pri vypise z XML

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 08.12.2011 19:00 | strankovanie pri vypise z XML

Zbytočná záťaž? A keď to bude v DB alebo na inom serveri, tam to pobeží na vzduch a žiadna záťaž nebude?

Keby to bolo uložené niekde inde, tak aktualizácia, mazanie a podobne by neexistovali??

neopagan, je toto tvoja prvá webstránka?


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
strankovanie pri vypise z XML

Registrovaný: 05.09.09
Príspevky: 1157
Témy: 127 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 08.12.2011 19:08 | strankovanie pri vypise z XML

Walther:
Ak je ten súbor relatívne malý tak platí to čo píšeš, ale ak je obrovský tak ho
1. musíš stiahnuť
2. sparsovať.
DB by to urobila určite rýchlejšie, nie?


Offline

Užívateľ
Užívateľ
strankovanie pri vypise z XML

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
Napísal autor témyOffline : 08.12.2011 19:18 | strankovanie pri vypise z XML

walther to mas pravdu s dtb by to fungovalo rovnako pri strankovani :)

Keby udaje boli v dtb na lokalnom serveri tak by zataz bola urcite mensia ako keby kazdu chvilu mal script spracuvat externy XML subor z ineho servera. Pri obrovskej navstevnosti sa mi neraz stalo, ze ten server padol, kde bol podobny XML subor, pretoze naraz bolo extremne vela poziadaviek na jeho parsovanie. Vtedy som vyuzil to co pise camo, ze sa XML stiahol raz denne a pracovalo sa s nim lokalne. Ten subor vsak nebol casto aktualizovany, tak stacilo stiahnut raz denne.

Lenze klient nechce dtb. Preco by som inak asi riesil tento problem?

No nejak to uz vyriesim.


Offline

Skúsený užívateľ
Skúsený užívateľ
strankovanie pri vypise z XML

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 08.12.2011 19:32 | strankovanie pri vypise z XML

Môžeš byť konkrétnejší, o aké údaje v xml vôbec ide?


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
strankovanie pri vypise z XML

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
Napísal autor témyOffline : 08.12.2011 19:38 | strankovanie pri vypise z XML

no kedysi som riesil TVprogram z XML, ale teraz sa jedna o zoznam zakaznikov, ale to je v podstate jedno


Offline

Správca fóra
Správca fóra
strankovanie pri vypise z XML

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 08.12.2011 19:38 | strankovanie pri vypise z XML

ak potrebujes, mozes dany subor stahovat aj castejsie, resp. by pomohol nejaky system upozornovnia na zmeny vykonane v externom xml - ak mas na to dosah, bolo by to super, lebo by si ho stiahol len vtedy, ak by bol aktualizovany...


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
strankovanie pri vypise z XML

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
Napísal autor témyOffline : 08.12.2011 19:59 | strankovanie pri vypise z XML

nakoniec som to vyriesil tak, ze kazdej hlavnej sekcii v XML som pridal atribut s cislom - napr.
Kód:
<ZAKAZNIK count="1">
<meno>xxx</meno>
<adresa>xxxx</adresa>
</ZAKAZNIK>
<ZAKAZNIK count="2">
<meno>xxx</meno>
<adresa>xxxx</adresa>
</ZAKAZNIK>
... atd.

a potom vlastne na zaklade parametra page aj v URL dam vypisat dany pocet zaznamov. Pricom premenna limit je vlastne pocet zaznamov na stranku.

Kód:
if ( $xml->attributes()->count> 0 && $adx->attributes()->count<= $page+$limit ) .. atd...


funguje to dobre.


Offline

Užívateľ
Užívateľ
strankovanie pri vypise z XML

Registrovaný: 05.09.09
Príspevky: 1157
Témy: 127 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 08.12.2011 22:10 | strankovanie pri vypise z XML

Tak ako je to teda zákazník nechce DB, alebo je príliš často aktualizvané?

Ale napadlo ma ešte možno lepšie riešenie.
Sparsovať to a uložiť ako php pole/objekt, ktoré si potom len includneš.


Offline

Správca fóra
Správca fóra
strankovanie pri vypise z XML

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 09.12.2011 8:10 | strankovanie pri vypise z XML

neopagan píše:
funguje to dobre.

si si isty? podla mna je to blbost (samozrejme len podla toho kusu kodu, co si sem dal), lebo ked vymazes nejakych zakaznikov, tak ti to uz nebude fungovat spravne - dajme tomu, odstranim prvych 5 zaznamov, na prvej stranke budes zobrazovat 5 zakaznikov a na ostatnych 10? Alebo budes pri kazdej zmene stale aktualizovat hodnoty atributu count v celom subore? toto tvoje riesenie je tusim najhorsia vec, co si mohol spravit :)


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
strankovanie pri vypise z XML

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
Napísal autor témyOffline : 10.12.2011 11:55 | strankovanie pri vypise z XML

blbost to nie je stenley, pretoze po kazdej zmene poctu zakaznikov sa cely XML subor zmaze a prepise sa aktualnymi udajmi, ktorych atributy budu opat spravne v poradi.

Akurat ze by mohlo dojst k tomu, ze ak prave mas otvorenu stranku s prvymi 10 zaznamami tak na druhej stranke sa uz pocet nemusi zobrazit spravne ak medzitym nieco do toho suboru pridali alebo zmazali. Ale to iste by platilo aj v pripade DTB.

Je to samozrejme len kusok kodu co som sem dal, este pokracuje dalej s dalsimi podmienkami.

Mam to otestovane a uz je to LIVE a funguje bez problemov.


Offline

Skúsený užívateľ
Skúsený užívateľ
strankovanie pri vypise z XML

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 10.12.2011 12:04 | strankovanie pri vypise z XML

nechápem, prečo máš uložený zoznam zákazníkov v XML a ešte k tomu na cudzom serveri. XML nie je a ani nikdy nebolo určené na uchovávanie dát v takomto zmysle, ale skôr ako nejaký prostredník medzi rôznymi aplikáciami.
Tak ale ako to už tebe vyhovuje...


_________________
C#, PHP, ...
Offline

Užívateľ
Užívateľ
strankovanie pri vypise z XML

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
Napísal autor témyOffline : 10.12.2011 12:35 | strankovanie pri vypise z XML

niekedy je dobre sa nezamyslat nad tym PRECO, ale proste to spravit ... zakaznik to tak chce, tak je to spravene tak :) Keby som mal na vyber, tak je to urcite inak...


Offline

Užívateľ
Užívateľ
strankovanie pri vypise z XML

Registrovaný: 05.09.09
Príspevky: 1157
Témy: 127 | 127
Bydlisko: Lehota pod ...
NapísalOffline : 10.12.2011 12:37 | strankovanie pri vypise z XML

možno som trochu mimo, ale mňa by zaujímalo, prečo to podľa toho zákazníka musí byť v XML, že ty ho nedokážeš presvedčiť, že je blbosť.


Offline

Skúsený užívateľ
Skúsený užívateľ
strankovanie pri vypise z XML

Registrovaný: 24.01.08
Prihlásený: 13.09.17
Príspevky: 14691
Témy: 66 | 66
Bydlisko: Žilina
Vek: 30
NapísalOffline : 10.12.2011 13:16 | strankovanie pri vypise z XML

Je pekné, že dačo zákazník chce, ale ty mu musíš vedieť vysvetliť, prečo je jeho riešenie kravina na n-tú. Však ale rob ako myslíš. Len sa potom nečuduj, prečo ti budú zákazníci skákať po hlave pri každej príležitosti.


_________________
C#, PHP, ...
Offline

Čestný člen
Čestný člen
strankovanie pri vypise z XML

Registrovaný: 21.02.06
Prihlásený: 08.12.14
Príspevky: 5447
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 10.12.2011 16:45 | strankovanie pri vypise z XML

Láskavo neriešte, či má niečo vysvetliť, alebo nie. Ak neviete odpovedať, tak neodpovedajte.


_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
Offline

Užívateľ
Užívateľ
strankovanie pri vypise z XML

Registrovaný: 07.08.06
Prihlásený: 05.12.17
Príspevky: 919
Témy: 259 | 259
Bydlisko: Levice
Napísal autor témyOffline : 10.12.2011 21:05 | strankovanie pri vypise z XML

diky shaggy za podporu... temu mozeme uzavriet, vyriesene.

Dakujem vam za rady.

PS: pri takom mnozstve zakaznikov co mam, nie je vobec cas im nieco vysvetlovat, treba makat... ked mi niekto zaplati za to ze to spravim bez dtb tak to spravim tak ako chce, neriesim. Ked odo mna chce iny zakaznik nehoraznu blbost a zaplati za to nehorazne prachy, tak tiez neriesim :) To je biznis.


 [ Príspevkov: 21 ] 


strankovanie pri vypise z XML



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

viacero typov uzivatelov pri vypise komentarov

v Databázy

2

451

18.01.2011 17:41

Feko

V tomto fóre nie sú ďalšie neprečítané témy.

Problem s tabulatorom pri vypise - curses.h (C)

v Assembler, C, C++, Pascal, Java

1

266

19.04.2011 19:16

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

pri výpise z datzabázy mi nevypíše celý php kód

v PHP, ASP

2

237

13.04.2009 18:39

Unlink

V tomto fóre nie sú ďalšie neprečítané témy.

Problém pri spustení Crysis 3 vypíše msvcr100.dll is missing

v Operačné systémy Microsoft

7

382

04.10.2013 22:00

globalik

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

PHP stránkovanie v dive - znemožní stránkovanie

v PHP, ASP

7

307

24.07.2011 12:44

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

SSD pri inštalácii vypíše:Zabezpecte aby bol radic disku aktivovany v systeme BIOS pocitaca

v SSD disky

9

236

20.11.2016 13:50

michalesku

V tomto fóre nie sú ďalšie neprečítané témy.

Generovanie XML:Chybná analýza XML: žiadny prvok sa nenašiel

v HTML, XHTML, XML, CSS

1

370

16.12.2011 16:49

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

XML Schema => XML instance document

v HTML, XHTML, XML, CSS

0

393

02.11.2009 17:46

sINN3r

V tomto fóre nie sú ďalšie neprečítané témy.

PHP/MySQL vypíše len Num.

v PHP, ASP

2

75

10.02.2013 17:08

hegi55

V tomto fóre nie sú ďalšie neprečítané témy.

vypis zavisly na vypise predchadzajuceho vypisu

v Databázy

2

290

14.07.2011 22:59

jablko05

V tomto fóre nie sú ďalšie neprečítané témy.

Po zapnutí počítača mi vypíše toto:

v Ostatné

9

778

14.12.2006 22:12

ERGO

V tomto fóre nie sú ďalšie neprečítané témy.

CCleaner vypise subory ale ich nevymaze.

v Ostatné programy

6

734

07.02.2011 7:49

tiktak1953

V tomto fóre nie sú ďalšie neprečítané témy.

Assembler - vystup namiesto cisel mi vypise pismena

v Assembler, C, C++, Pascal, Java

4

127

10.08.2014 16:44

nasm

V tomto fóre nie sú ďalšie neprečítané témy.

strankovanie

v PHP, ASP

6

145

30.09.2014 22:20

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

strankovanie

v JavaScript, VBScript, Ajax

3

438

09.01.2009 12:47

rooobertek

V tomto fóre nie sú ďalšie neprečítané témy.

stránkovanie

v PHP, ASP

12

819

01.10.2009 18:08

dessert



© 2005 - 2017 PCforum, edited by JanoF