Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 2.8.2010, 23:24   #1
mirkan03
Član
 
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
Određen forumom 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!!!
mirkan03 je offline   Odgovor sa citatom ove poruke
Stara 3.8.2010, 0:10   #2
kovacevicdr
Član
 
Član od: 14.10.2007.
Lokacija: Nakovo,Novi Sad
Poruke: 45
Zahvalnice: 8
Zahvaljeno 7 puta na 5 poruka
Slanje poruke preko MSN-a korisniku kovacevicdr
Određen forumom 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.
kovacevicdr je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku kovacevicdr na korisnoj poruci:
mirkan03 (3.8.2010)
Stara 3.8.2010, 13:51   #3
mirkan03
Član
 
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
Određen forumom 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");
mirkan03 je offline   Odgovor sa citatom ove poruke
Stara 3.8.2010, 14:01   #4
mirkan03
Član
 
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
Određen forumom 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?!
mirkan03 je offline   Odgovor sa citatom ove poruke
Stara 3.8.2010, 14:17   #5
kovacevicdr
Član
 
Član od: 14.10.2007.
Lokacija: Nakovo,Novi Sad
Poruke: 45
Zahvalnice: 8
Zahvaljeno 7 puta na 5 poruka
Slanje poruke preko MSN-a korisniku kovacevicdr
Određen forumom 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.
kovacevicdr je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku kovacevicdr na korisnoj poruci:
mirkan03 (3.8.2010)
Stara 3.8.2010, 14:29   #6
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom 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.
irreal je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku irreal na korisnoj poruci:
mirkan03 (3.8.2010)
Stara 3.8.2010, 15:46   #7
vasto lorde
Član
 
Član od: 3.5.2010.
Poruke: 56
Zahvalnice: 22
Zahvaljeno 9 puta na 7 poruka
Određen forumom Re: Jedna nadam se laka funkcija

da se nadovezem na gornji post, ovako se mozes osigurati od onoga sto je irreal spomenuo:
PHP kod:
if (!is_numeric($zadnjih)) $zadnjih preg_replace('#[^0-9+]#i' ,''$zadnjih); 
(to ne bi breakovalo funkciju kada input ne bi bio broj, vec bi uzeo samo brojeve odatle).

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)).
vasto lorde je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku vasto lorde na korisnoj poruci:
mirkan03 (3.8.2010)
Stara 3.8.2010, 21:18   #8
mirkan03
Član
 
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
Određen forumom 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!
mirkan03 je offline   Odgovor sa citatom ove poruke
Stara 4.8.2010, 12:32   #9
kovacevicdr
Član
 
Član od: 14.10.2007.
Lokacija: Nakovo,Novi Sad
Poruke: 45
Zahvalnice: 8
Zahvaljeno 7 puta na 5 poruka
Slanje poruke preko MSN-a korisniku kovacevicdr
Određen forumom 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..
kovacevicdr je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku kovacevicdr na korisnoj poruci:
mirkan03 (4.8.2010)
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


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


Sva vremena su po Griniču +2 h. Sada je 13:56.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com