Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 21 ] 
AutorSpráva
Offline

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

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok NapísalOffline : 07.12.2011 22:07

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: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 07.12.2011 23:28

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: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 08.12.2011 8:51

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)







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

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

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 08.12.2011 18:04

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: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 08.12.2011 18:54

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: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 08.12.2011 19:00

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: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 08.12.2011 19:08

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ý: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 08.12.2011 19:18

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: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 08.12.2011 19:32

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ý: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 08.12.2011 19:38

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: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 08.12.2011 19:38

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...







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

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

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 08.12.2011 19:59

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: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 08.12.2011 22:10

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: 3948
Témy: 51
Bydlisko: Bratislava
Príspevok NapísalOffline : 09.12.2011 8:10

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 :)







_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

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

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 10.12.2011 11:55

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: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 10.12.2011 12:04

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ý: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 10.12.2011 12:35

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: 1141
Témy: 127
Bydlisko: Lehota pod ...
Príspevok NapísalOffline : 10.12.2011 12:37

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: 14572
Témy: 66
Bydlisko: Žilina
Príspevok NapísalOffline : 10.12.2011 13:16

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: 5404
Témy: 30
Bydlisko: Bratislava
Príspevok NapísalOffline : 10.12.2011 16:45

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ý: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 10.12.2011 21:05

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.


Odpovedať na tému [ Príspevkov: 21 ] 


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

639

18.01.2011 17:41

Feko Zobrazenie posledných príspevkov

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

401

19.04.2011 19:16

chrono Zobrazenie posledných príspevkov

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

460

13.04.2009 18:39

Unlink Zobrazenie posledných príspevkov

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

545

24.07.2011 12:44

shaggy Zobrazenie posledných príspevkov

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

575

04.10.2013 22:00

globalik Zobrazenie posledných príspevkov

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

1741

20.11.2016 13:50

michalesku Zobrazenie posledných príspevkov

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

874

16.12.2011 16:49

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. XML Schema => XML instance document

v HTML, XHTML, XML, CSS

0

726

02.11.2009 17:46

sINN3r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP/MySQL vypíše len Num.

v PHP, ASP

2

254

10.02.2013 17:08

hegi55 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. CCleaner vypise subory ale ich nevymaze.

v Ostatné programy

6

965

07.02.2011 7:49

tiktak1953 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vypis zavisly na vypise predchadzajuceho vypisu

v Databázy

2

476

14.07.2011 22:59

jablko05 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Po zapnutí počítača mi vypíše toto:

v Ostatné

9

947

14.12.2006 22:12

ERGO Zobrazenie posledných príspevkov

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

341

10.08.2014 16:44

nasm Zobrazenie posledných príspevkov

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

v JavaScript, VBScript, Ajax

3

627

09.01.2009 12:47

rooobertek Zobrazenie posledných príspevkov

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

v PHP, ASP

7

544

03.05.2008 11:24

qacer Zobrazenie posledných príspevkov

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

[ Choď na stránku:Choď na stránku: 1, 2 ]

v PHP, ASP

35

2252

13.01.2008 14:11

ROmario Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra