PHP pomoc

Hardware, software, mobiteli, programiranje, internet...

Moderator: Benq

Post Reply
the_stick
Posts: 1170
Joined: 16/02/2002 00:00

#1 PHP pomoc

Post 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...
car-x
Posts: 3483
Joined: 14/06/2002 00:00
Location: Dunaj
Contact:

#2 Re: PHP pomoc

Post 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?
the_stick
Posts: 1170
Joined: 16/02/2002 00:00

#3

Post 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!
car-x
Posts: 3483
Joined: 14/06/2002 00:00
Location: Dunaj
Contact:

#4

Post 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.. ;)
the_stick
Posts: 1170
Joined: 16/02/2002 00:00

#5

Post 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
neko iz mase
Posts: 2018
Joined: 29/12/2004 21:18

#6

Post 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
forUMASH
Posts: 2180
Joined: 24/01/2006 04:12
Location: Razjedinjene Drzave BIH

#7

Post 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
User avatar
bug
Posts: 15805
Joined: 22/12/2002 00:00
Location: the place 2b

#8

Post 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
neko iz mase
Posts: 2018
Joined: 29/12/2004 21:18

#9

Post 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
forUMASH
Posts: 2180
Joined: 24/01/2006 04:12
Location: Razjedinjene Drzave BIH

#10

Post 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
mrak
Posts: 373
Joined: 25/06/2002 00:00
Location: Sarajevo-Vienna
Contact:

#11

Post 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.
the_stick
Posts: 1170
Joined: 16/02/2002 00:00

#12

Post by the_stick »

hvala na savjetima...

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