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

Kako procitati redni broj za odredjeni *row* u tabeli

[es] :: PHP :: Kako procitati redni broj za odredjeni *row* u tabeli

[ Pregleda: 3304 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

CIIAPTAK
Vladimir
Banja Luka

Član broj: 11134
Poruke: 10
*.wireless.blic.net



Profil

icon Kako procitati redni broj za odredjeni *row* u tabeli07.04.2004. u 22:09 - pre 244 meseci
Ako npr u tabeli imam kolonu ID ali redoslijed u njoj nije 1,2,3,4,5.. nego npr 1,2,5,6,8,9.. zato sto su odredjene linije u medjuvremenu izbrisane - dakle sad redimo red koji ima ID=8 ustvari nije *osmi* red u tabeli nego *peti*.. Dakle, kako ja mogu saznati da je to bas *peti* red? ima li neka funkcija koja kaze "reci mi koji je broj reda koji ima ID=8"..?

Dakle, kao sto u SELECT naredbi ima opcija LIMIT pa mogu da trazim npr samo *peti* red (LIMIT 5,1), meni treba neka obrnuta funkcija?

Skontao sam jedan zaobilazni nacin, ali ljepse bi bilo ako postoji takva funkcija.. Evo kako sam to zasad uradio bez funkcije:

- $newsX je broj reda (ono sto trazim)
- $newsID je vrijednost koju trazeni red sadrzi u koloni ID
- news je ime tabele

//[start] get $newsX from $newsID
$sql = "SELECT count(ID) FROM news WHERE ID<$newsID";
$result = mysql_query($sql) or exit("Unable to query database..");
$line = mysql_fetch_row($result);
$newsX = $line[0];
//[end]
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.dialup.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Kako procitati redni broj za odredjeni *row* u tabeli08.04.2004. u 00:47 - pre 244 meseci
Obrati pažnju na 2 detalja:

Ako ti je $newsID == 1 (prvi zapis) tebi će biti $newsX == 0. OK, možda si tako i želeo, no dobio sam utisak da želiš "ljudsko" brojanje - znači od jedinice (WHERE ID <= $newsID) a ne od nule.

Drugo, šta se dešava ako se u upit prosledi $newsID = 3, a red s trojkom je izbrisan? Dobijaš neku vrednost za $newsX koja se odnosi na red sa različitim ID-om od $newsID...
 
Odgovor na temu

bluesman

Član broj: 4505
Poruke: 1895
*.5.EUnet.yu



+1 Profil

icon Re: Kako procitati redni broj za odredjeni *row* u tabeli08.04.2004. u 03:26 - pre 244 meseci
Ako ja dobro kapiram, covek dobije neki ID i hoce da vidi koliko ih ima pre toga, odnosno koji je taj po redu (fizicki). Ne znam zasto mislis da si uradio lose resenje, COUNT() funkcija izuzetno brzo radi u mysql, pa je to i najbolje resenje.

Goran Pilipović fka bluesman
 
Odgovor na temu

CIIAPTAK
Vladimir
Banja Luka

Član broj: 11134
Poruke: 10
*.wireless.blic.net



Profil

icon Re: Kako procitati redni broj za odredjeni *row* u tabeli08.04.2004. u 16:25 - pre 244 meseci
Da,da, Gorane, to sam htio.. Nista, mislio sam da ima neka funkcija za to.. Npr pronasao sam u MYSQL API funkcijama za C, da ima mysql_row_tell - to je upravo to, ali izgleda da PHP ne podrzava taj API - u helpu za PHP nema te funkcije, a kad sam pokusao da je upotrijebim u kodu dobio sam gresku..
http://www.mysql.com/doc/en/mysql_row_seek.html
http://www.mysql.com/doc/en/mysql_row_tell.html

Dejane, to mi nije problem ako korisnik ukuca neki NewsID koji ne postoji u bazi - skripta ustvari treba da prikaze 20 ili 50 vijesti odjednom, samo sto se na osnovu unesene ID vrijednosti odlucuje koju grupu vijesti ce da prikaze, itd.. Tu nema problema, napisacu nekoliko linija da to sve prodje glatko..
 
Odgovor na temu

[es] :: PHP :: Kako procitati redni broj za odredjeni *row* u tabeli

[ Pregleda: 3304 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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