Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Next product - Pomoc

[es] :: MySQL :: Next product - Pomoc

[ Pregleda: 2558 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
*.vdial.verat.net.



+25 Profil

icon Next product - Pomoc06.07.2006. u 17:23 - pre 193 meseci
Da li postoji neka funkcija PHP za MySQL koja pokazuje u kom je redu nasao rezultat...1 match.
I da li postoji nacin da se pozove posle SELECT odredjenog reda?

[Ovu poruku je menjao choks87 dana 06.07.2006. u 20:04 GMT+1]
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

Ivan Miladinović
Ivan Miladinovic
All around the web

Član broj: 26492
Poruke: 592
*.3dnet.co.yu.

ICQ: 321748581
Sajt: www.sanovniktumacenjesnov..


+1 Profil

icon Re: Next product - Pomoc06.07.2006. u 21:05 - pre 193 meseci
Neznam za funkciju, ali znam jedan nacin. A to je ako ti je sadasnji proizvod ID = 10
ti sledeci u bazi trazi tako sto ces traziti da bude veci od sadasnjeg ID, a za previous product tako sto je manji... Nije komplikovano.

Kod mene radi. :)

Pozdrav!
 
Odgovor na temu

Ivan Miladinović
Ivan Miladinovic
All around the web

Član broj: 26492
Poruke: 592
*.3dnet.co.yu.

ICQ: 321748581
Sajt: www.sanovniktumacenjesnov..


+1 Profil

icon Re: Next product - Pomoc07.07.2006. u 14:21 - pre 193 meseci
Evo primer query kako ja to radim:

Ovo je trenutno prikazani proizvod:
Code:

$sql = "select * from tabela where news_id='$upit'";


Ovako trazim PRETHODNI proizvod:
Code:

$sql = "select * from tabela where news_id < $upit order by news_id desc limit 1";


I ovako trazim SLEDECI proizvod:
Code:

$sql = "select * from tabela where news_id > $upit order by news_id asc limit 1";



Mozes i da stavis $upit + 1 za sledeci upit ili $upit - 1 za prethodni, ali ako obrises jedan proizvod, nastace shit na stranici :)




Pozdrav iz Kuceva od Ivana!
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Next product - Pomoc07.07.2006. u 15:03 - pre 193 meseci
LIMIT moze da primi i dva parametra u kom slucaju prvi odredjuje redni broj prvog reda u rezultatu upita koji ce biti prikazan kao prvi, a drugi broj odredjuje broj sledecih redova koje treba prikazati, tako da u SELEC upitu

LIMIT n, 1

daje n-ti slog iz rezultata upita.

Id tabele ne mora biti slozen po velicini a cak n emora ni da bude numerik, tako da to nije zgodan nacin da se utvrdi koji je sledeci slog.
 
Odgovor na temu

Ivan Miladinović
Ivan Miladinovic
All around the web

Član broj: 26492
Poruke: 592
*.3dnet.co.yu.

ICQ: 321748581
Sajt: www.sanovniktumacenjesnov..


+1 Profil

icon Re: Next product - Pomoc07.07.2006. u 15:10 - pre 193 meseci
Citat:
broker: LIMIT moze da primi i dva parametra u kom slucaju prvi odredjuje redni broj prvog reda u rezultatu upita koji ce biti prikazan kao prvi, a drugi broj odredjuje broj sledecih redova koje treba prikazati, tako da u SELEC upitu

LIMIT n, 1

daje n-ti slog iz rezultata upita.


Da, ako hoces nrp za paginaciju se to koristi... LIMIT $startnumber, $lastnumber ali ne znam zasto bi (i kako) bi se koristilo za prikazivanje prethodnog i sledeceg proizvoda, daj primer.

Citat:
broker:Id tabele ne mora biti slozen po velicini a cak n emora ni da bude numerik, tako da to nije zgodan nacin da se utvrdi koji je sledeci slog.


Code:

order by news_id desc
order by news_id asc


A kazi mi sta mi rade ovih par reci u query-ju????
 
Odgovor na temu

NikolaVeber
NikolaVeber
neradnik na porodiljskom bolovanju
Karlsruhe

Član broj: 5115
Poruke: 1254
*.sap-ag.de.

Jabber: nikolaveber@jabber.org
ICQ: 121532865


Profil

icon Re: Next product - Pomoc07.07.2006. u 15:17 - pre 193 meseci
Ako imas jako veliki broj redova i ti je potrebno da izuzetno brzo pronadjes sledeci i prethodni, razmisli o dodavanju 2 polja sa indeksima ta dva trazena reda.
To je verovatno optimizovano na nivou DB engina, ali racunaj da prilikom izvrsenja
"select * from tabela where news_id < $upit order by news_id desc limit 1";
radis sortiranje cele baze, sto ume da bude zahtevno.
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
 
Odgovor na temu

Ivan Miladinović
Ivan Miladinovic
All around the web

Član broj: 26492
Poruke: 592
*.3dnet.co.yu.

ICQ: 321748581
Sajt: www.sanovniktumacenjesnov..


+1 Profil

icon Re: Next product - Pomoc07.07.2006. u 15:19 - pre 193 meseci
Da. Da. TO je ono sto i broker napomenuo ID moze da bude i alfanumericki znaci 92384kl3j45345098klj i u tom slucaju to nije pametno... Ali ko to radi, on sigurno ne koristi MySQL kao bazu.

Ja sam skapirao da coveku treba za neki mali projekat, pa sam shodno tome i dao odgovor.
 
Odgovor na temu

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
*.vdial.verat.net.



+25 Profil

icon Re: Next product - Pomoc08.07.2006. u 00:09 - pre 193 meseci
Problem je sto korisnik unosi ID proizvoda...kombinacija brojeva i slova...
Kako onda da prepozna < i >


Ubicu se od muke,ne znam kako da uradim...probao sam da prebacujem sve u array pa kad nadje array da uradi echo indexa pre i indexa posle npr <b>brezultat[$i + 1]</b>

Gde je $i broj redova koje je presao....

Ali desava mi se da se dva proizvoda navodno nalaze u istom redu...sto je nemoguce
Mozda MySQL tabela nema uvek jednak broj redova pri iscitavanju...jbga

Help
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
212.62.59.*



+11 Profil

icon Re: Next product - Pomoc08.07.2006. u 12:45 - pre 193 meseci
Pa samo stavil LIMIT n, 1 gde je n redni broj sloga. N uvecvas za jedan ako hoces sledeci ili smanjujes za jedan ako hoce prethodni slog i to je sve.

To ce da ti radi sa svakom tabelom.

Citat:
evil_angel_yu:
Da, ako hoces nrp za paginaciju se to koristi... LIMIT $startnumber, $lastnumber ali ne znam zasto bi (i kako) bi se koristilo za prikazivanje prethodnog i sledeceg proizvoda, daj primer.


Zato sto je upit "daj mi sledeci red" samo specijalan slucaj upita "daj mi sledecu stranu" u kome strana sadrzi samo jedan red.
 
Odgovor na temu

Milan M. Radovic
Web Developer
Pančevo

Član broj: 16959
Poruke: 743
*.vdial.verat.net.



+25 Profil

icon Re: Next product - Pomoc08.07.2006. u 14:57 - pre 193 meseci
Aaaa...uradio sam doduse drugacije...uneo sam kolonu za vreme unosa kao time()...

Sad radi...Fala pomogli ste mnogo sa onim LIMIT...nisam ni znao za to..
Pocinjem da se polako deprimiram...da li mogu sebe da nazivam programerom...
I don't need a girl for sex , All I Need is Binary and HEX
 
Odgovor na temu

NikolaVeber
NikolaVeber
neradnik na porodiljskom bolovanju
Karlsruhe

Član broj: 5115
Poruke: 1254
*.rz.uni-karlsruhe.de.

Jabber: nikolaveber@jabber.org
ICQ: 121532865


Profil

icon Re: Next product - Pomoc08.07.2006. u 15:16 - pre 193 meseci
umesto vremena mozes da koristis i jos jedno id polje koje je auto increment. To polje bi onda trebao da koristis kao primary key, jer sve sto unosi korisnik je pod znakom pitanja. Id koji korisnik unosi treba da tretiras isto kao ime proizvoda i ostale podatke.
Pop Servis "Paradise Tours"
Java User Group Karlsruhe
IT Dan - Srbija

Officer, I saw the driver who hit me - his name was Johnny Walker.
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.it-austria.net.

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Next product - Pomoc10.07.2006. u 08:27 - pre 193 meseci
Upravo kao sto je NikolaVeber rekao. Tebi treba surogatni kljuc, tj. kreiraj jos jednu kolonu, npr. ID i postavi ju kao INT AUTO_INCREMENT, da ti ta kolona bude PRIMARY KEY umjesto te kombinacije brojeva i slova...
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

[es] :: MySQL :: Next product - Pomoc

[ Pregleda: 2558 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.