Page 1 of 1

#1 PHP pomoc

Posted: 26/04/2006 11:27
by the_stick
zna li mi neko pomoci sa sljedecim....

kada iz baze podataka povucem podatke i ima recimo 100 redova.... kako da ja ogranicim da na jednoj stranici ima recimo samo 20 redova, a da na vrhu ili dnu stranice imam brojeve stranica preko kojih mogu doci do ostalih redova... nesta otprilike kao na ovom forumu... kad se predje odredjen broj postova na neku temu, prebaci se na sljedecu stranicu...

hvala...

#2 Re: PHP pomoc

Posted: 26/04/2006 11:48
by car-x
the_stick wrote:zna li mi neko pomoci sa sljedecim....

kada iz baze podataka povucem podatke i ima recimo 100 redova.... kako da ja ogranicim da na jednoj stranici ima recimo samo 20 redova, a da na vrhu ili dnu stranice imam brojeve stranica preko kojih mogu doci do ostalih redova... nesta otprilike kao na ovom forumu... kad se predje odredjen broj postova na neku temu, prebaci se na sljedecu stranicu...

hvala...
treba ti "offset" varijabla..

u mysql imas "limit" fazon.. npr:

"select headline, text from articles limit $offset, $offset+20"

i tako dobijes prvih 20 artikala.. onda uradis link na next i previous page uz koji saljes varijablu npr. direction.. na next radis +20 na offset, a na previous -20 na offset i to je to..

if ($direction == 1) // 1 za naprijed.. 2 za nazad.. npr..
$offset += 20;

if ($direction == 2)
$offest -=20;

capisci?

#3

Posted: 26/04/2006 14:02
by the_stick
evo uspio sam... ne bas na isti nacin, ali sam koristio ovu logiku... jedino nisam koristio 'previous i next' nego sam sve stranice izlistao u drop down menu...

hvala!

#4

Posted: 26/04/2006 14:16
by car-x
the_stick wrote:evo uspio sam... ne bas na isti nacin, ali sam koristio ovu logiku... jedino nisam koristio 'previous i next' nego sam sve stranice izlistao u drop down menu...

hvala!
hajd super..

sto se drop down menija tice, veli jakob nielsen, da isti ne bi trebali imati vise od 5 unosa u idealnom slucaju.. ;)

#5

Posted: 03/05/2006 14:01
by the_stick
evo jos jedno pitanje ako neko zna....

da li ima nacina da se odredjena php skripta pokrece u specificno vrijeme? npr. da se skripta pokrene svaki dan u ponoc da bi povukla podatke iz jedne tabele i nakon nekih proracuna te podatke prebacila u drugu tabelu...

hvala

#6

Posted: 03/05/2006 15:14
by neko iz mase
Posto je PHP sam po sebi "stateless", odgovor je jedno veliko NE. Sta ti mozes napraviti je da na *nix-u koristis crontab, kojim startas npr lynx u 10 koji posjecuje odredjenu stranicu i radi sigurnosti daje odredjene parametre (credentials). Pri egzekuciji te stranice ti vrsis potrebne radnje
:D

#7

Posted: 03/05/2006 15:27
by forUMASH
...da koristis MS SQL, rjesenje bi ti bilo "Data Transformation Services".....kreiras "Job" i setapujes aktiviranje na dnevnoj, sedmicnoj, mjesecnoj osnovi u vrijeme koje ti odgovara.....pojma nemam sta je ekvivalent ovome servisu na drugim bazama......progooglaj..... :D

#8

Posted: 03/05/2006 19:53
by bug
forUMASH wrote:...da koristis MS SQL, rjesenje bi ti bilo "Data Transformation Services".....
ne koristi :D al nema veze :D isp'o si pametan :D:D

#9

Posted: 03/05/2006 20:12
by neko iz mase
Jos jedan trik koji sam koristio je da u bazi podataka imam poseban table sa informacijama kad je napravljen zadnji update kao i oznaku za taj dan. Ako je vremenska razlika od tad i tog trenutka kad je stranica "apdejtovana" vise od 24h ili smo usli u novi dan koji nije oznacen, zovem klasu koja pravi novi update i oznacava da je za taj dan transakcija zavrsena.
Ovaj code se stavlja u header stranice koja ove podatke treba ocitati, ili u login skriptu ako se korisnik mora biti autorizovan da pogleda te podatke.
Pri stranicama od par hiljada korisnika na dan ovo bas i nije sasvim pozeljno jer oduzima snagu sistema, al se nekad tako sta ne moze izbjeci. Tako bi ti najbolje bilo da se ovaj dio postavi u login code, jer se provjerava samo kad se korisnik autorizira sto znatno poboljsava performanse

#10

Posted: 04/05/2006 01:00
by forUMASH
bug wrote:
forUMASH wrote:...da koristis MS SQL, rjesenje bi ti bilo "Data Transformation Services".....
ne koristi :D al nema veze :D isp'o si pametan :D:D
....isp'o, isp'o..... :D .....inace, specijalnost mi je korekcija bugova... :D :D :D

#11

Posted: 04/05/2006 20:01
by mrak
neko iz mase wrote:Pri stranicama od par hiljada korisnika na dan ovo bas i nije sasvim pozeljno jer oduzima snagu sistema, al se nekad tako sta ne moze izbjeci.
Ako dospije u ligu "par hiljada korisnika", predlazem da hitno nabavi hosting gdje ima crontab i malo vecu kontrolu nad serverom...

Problem sa ovim pristupom je to sto vecina web servera prekida izvrsavanje php skripte nakon nekog vremena, sto osim toga sto onemogucava backup, isto tako moze dovesti do inkonzistencije baze ako se ne koriste transakcije.

#12

Posted: 05/05/2006 09:43
by the_stick
hvala na savjetima...

ne serveru je linux, tako da je problem rijesen uz pomoc crontab-a...