|
Programiranje Programski jezici, tehnike, alatke... |
|
Alatke vezane za temu | Vrste prikaza |
2.8.2010, 23:24 | #1 |
Član
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
|
Jedna nadam se laka funkcija
Trebalo bi da napravim funkciju koja bi pokazivala samo podatke poslednja 3 reda iz odredjene tabele, ali mi ne ide.
evo funkcije za primer: function minivesti($table) { $vest = ""; $sve = mysql_query("SELECT * FROM $table"); while($tmp = mysql_fetch_array($sve)) { ovde bi trebalo pronaci ta poslednja 3 id-ja i uzeti ih kao $tmp1, tj tri puta bi trebalo da prodje ovo if ($tmp[0] == $tmp1) { $headline = "<h2>" . $tmp[2] . "</h2>"; $shortversion = "<p>" . $tmp[4] . "</p>"; } else { } $vest .= $head . $short; } echo $vest; } Ispisivao bi se Naslov(headline) i kratka verzija i ....ali to cu znati da uradim Da li moze neko da pomogne!!! |
3.8.2010, 0:10 | #2 |
Član
|
Re: Jedna nadam se laka funkcija
$sve = mysql_query("SELECT * FROM $table ORDER BY id DESC LIMIT 0, 3");
Ovako mozes izvuci samo 3 poslednja unosa u tabeli pa ne moras da ih vadis naknadno. Naravno promeni polje ako ti se ne naziva id. |
Sledeći korisnik se zahvaljuje korisniku kovacevicdr na korisnoj poruci: | ||
mirkan03 (3.8.2010) |
3.8.2010, 13:51 | #3 |
Član
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
|
Re: Jedna nadam se laka funkcija
Znaci funcija bi izgledala ovako:
function minivesti($table) { $vest = ""; $sve = mysql_query("SELECT * FROM $table ORDER BY id DESC LIMIT 0, 3"); while($tmp = mysql_fetch_array($sve)) { $headline = "<h2>" . $tmp[2] . "</h2>"; $shortversion = "<p>" . $tmp[4] . "</p>"; $vest .= $head . $short; } echo $vest; } Takodje, jel moguce i taj broj 3 uvesti kao promenjivu, pa samo zadati koliko treba??? nrp. function minivesti($table,$zadnjih) pa koristiti u - $sve = mysql_query("SELECT * FROM $table ORDER BY id DESC LIMIT 0, $zadnjih"); |
3.8.2010, 14:01 | #4 |
Član
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
|
Re: Jedna nadam se laka funkcija
I molio bih jos samo da mi neko kaze , da li je bitno da ID-ovi idu redom ili ne?
Tj da li ce on uzeti poslednja 3 unosa iz tabele nevezano ako su id razdvojeni brojem npr. 1,2,3,4,6,8,9. Trebalo bi uzme redove 9,8 i 6?! |
3.8.2010, 14:17 | #5 |
Član
|
Re: Jedna nadam se laka funkcija
Moze se umesto tog broja tri koristiti promenjiva koja ce predstavljati broj vesti koje uzima iz baze.
Nema veze ako ti id ne ide po redu, on ce preuzeti tri poslednja reda iz baze posto je sortirano po id ali od nazad,tj. najveci id ce biti prvi. |
Sledeći korisnik se zahvaljuje korisniku kovacevicdr na korisnoj poruci: | ||
mirkan03 (3.8.2010) |
3.8.2010, 14:29 | #6 |
V.I.P. Programiranje
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
|
Re: Jedna nadam se laka funkcija
samo pripazi ko i kako moze da pozove tu funkciju.
pogotovo pripazi ako korisnik bira broj koliko vesti se vadi, da proveris taj input. php ce prihvatiti da u varijablu $zadnjih upises bilo sta, ne mora to da bude broj. ako direktno od korisnika uzimas informaciju koliko zadnjih hoce da vidi, on moze da edituje svoj http response i da ti umesto vrednosti tipa 3, 1, 10 vrati "; drop database;--" tako da uvek proveravaj sav input koji ide u sql query-je. |
Sledeći korisnik se zahvaljuje korisniku irreal na korisnoj poruci: | ||
mirkan03 (3.8.2010) |
3.8.2010, 15:46 | #7 |
Član
Član od: 3.5.2010.
Poruke: 56
Zahvalnice: 22
Zahvaljeno 9 puta na 7 poruka
|
Re: Jedna nadam se laka funkcija
da se nadovezem na gornji post, ovako se mozes osigurati od onoga sto je irreal spomenuo:
PHP kod:
ovde samo proveravamo da li je $zadnjih broj, ako jeste, ne diramo ga. ako nije, odnosno ako ima i nekih drugih znakova, zamenicemo sve sto nisu cifre sa praznim stringom (preg_replace('#[^0-9+]#i' ,'', $zadnjih);) tako da nam od celog stringa ostanu samo brojevi (#[^0-9+]#i je regexp koji filtrira sve osim cifara (0-9)). |
Sledeći korisnik se zahvaljuje korisniku vasto lorde na korisnoj poruci: | ||
mirkan03 (3.8.2010) |
3.8.2010, 21:18 | #8 |
Član
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
|
Re: Jedna nadam se laka funkcija
A kako da prikazem sve vesti unazad?
Jednostavno izostavim tu promenjivu $zadnjih ili ??? I ako nije previse sto trazim , kako najlakse da vesti poredjam npr po 15/20 na stranici, pa ako ima vise u dnu da pokaze strana1 , strana2. Ako je previse komplikovano,nema veze ....:-)) U pitanju je prikaz kratke verzije vesti, sa linkom za citanje celog clanka, ali s obzirom da ce se cesto dopunjavati, dosta brzo bi se strana produzila u nedogled! |
4.8.2010, 12:32 | #9 |
Član
|
Re: Jedna nadam se laka funkcija
Ako hoces sve da prikazes izostavis to LIMIT 0, $zadnjih.
$num_rows = mysql_num_rows($sve); ovako mozes dobiti ukupan broj vesti u tabeli i posle prikazanih vesti da izracunas koliko strana ti treba. Mozes iskoristiti to LIMIT da prikazujes odredjen broj vesti npr. LIMIT 0,15 za prvih petnaest, LIMIT 15,30 za drugih petnaest itd.. |
Sledeći korisnik se zahvaljuje korisniku kovacevicdr na korisnoj poruci: | ||
mirkan03 (4.8.2010) |
Bookmarks sajtovi |
|
|
Slične teme | ||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Izgubila mi se jedna particija pri formatiranju HDD | turbina | Nosači podataka | 2 | 30.10.2008 11:52 |