Poslao: 20 Maj 2013 13:47
|
offline
- FoxVanis

- Ugledni građanin
- Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
- Pridružio: 13 Jun 2010
- Poruke: 307
- Gde živiš: Subotica
|
Sad sam došao do jednog blesavog problema.
Imam jednu tabelu u koju ubacujem podatke kada se ulogovao admnistrator u administraciju, koliko dugo je bio prisutan, njegov ID, IP i sesija za čišćenje starih log-podataka kada istekne godinu dana.
E sada izlistavam tu tabelu sa "while" funkcijom da vidim zadnjih 50 logova u administraciji.
Problem je što poslednji upisan podatak neće da prikaže i neznam zašto. Ako ima na primer 20 logova, ja vidim samo 19. ZAŠTO?
Ovo do sada nisam video u praksi.
Probao sam i sa "foreach" probao sam i sa "loop" isto.
Šta kažu iskusniji programeri?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 20 Maj 2013 13:57
|
offline
- Srki94

- Mod u pemziji
- Pridružio: 14 Feb 2008
- Poruke: 12404
|
Nevezano za jezik, mislim da grešiš negde u samoj srži uslova zbog čega dobijaš jedan manje prikaz. Proveri ponovo samu srž uslova (neretko se pogreši u matematičkim znakovima kod uslova).
Što objašnjava isti rezultat ako si koristio isti uslov za druge provere.
Okači kod i možda će neko iz ove oblasti dati konkretno rešenje, ja ti ovo pišem iz iskustva iz drugog jezika i onoga gde sam ja neretko grešio.
|
|
|
|
Poslao: 20 Maj 2013 16:25
|
offline
- FoxVanis

- Ugledni građanin
- Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
- Pridružio: 13 Jun 2010
- Poruke: 307
- Gde živiš: Subotica
|
Srki94 ::Nevezano za jezik, mislim da grešiš negde u samoj srži uslova zbog čega dobijaš jedan manje prikaz. Proveri ponovo samu srž uslova (neretko se pogreši u matematičkim znakovima kod uslova).
Što objašnjava isti rezultat ako si koristio isti uslov za druge provere.
Okači kod i možda će neko iz ove oblasti dati konkretno rešenje, ja ti ovo pišem iz iskustva iz drugog jezika i onoga gde sam ja neretko grešio.
Koristim isti kod za izlistavanje mali milion puta, zato sam sad sluđen.
$sql_admins=mysql_query("SELECT * FROM `online_admin` ORDER BY `online_admin`.`time` DESC ");
if(mysql_fetch_array($sql_admins)>=1)
{
while($a_users=mysql_fetch_array($sql_admins))
{
echo $a_users['id_user'];
}
}else{echo '<h3>No members</h3>';}
Ovo je jednostavan kod za izlistavanje koji koristim kao i većina PHP programera. Svugde perfektno radi ali samo ovde mi nešto zeza. Kažem, probao sam i sa loop, sa foreach ali isti problem.
Isto sam pokušao sa ASC i DESC sortiranjem, urado sam i bez ORDER BY, Pokušao sam sortirati i po datumu i po imenu, i po neznam čemu i uvek zadnji podatak ne ispiše.
Napravio sam DEBUG i svugde prolazi a kada treba while da uradi svoje onda prikaže za -1.
Ako u tabeli imam samo jedan podatak, onda mi ne pokaže ništa. Praktično imam NULL u tom delu a u bazi postoji jedan podatak koji trebam izlistati.
pomislio sam da je problem u SQL bazi ali nije ni tamo.
Pre ovog koda nemam ni jedan drugi PHP kod da ga blokira.
|
|
|
|
|
Poslao: 20 Maj 2013 19:55
|
offline
- FoxVanis

- Ugledni građanin
- Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
- Pridružio: 13 Jun 2010
- Poruke: 307
- Gde živiš: Subotica
|
To je to ali nije rešenje to. Ne uspevam dobiti redovan rezultat.
|
|
|
|
|
Poslao: 20 Maj 2013 20:35
|
offline
- |_MeD_|

- Zaslužni građanin
- Pridružio: 02 Okt 2005
- Poruke: 546
|
Meni deluje da preskocis prikaz prvog sa if(mysql_fetch_array($sql_admins)>=1)
mozda si hteo da pitas mysqli_num_rows()
|
|
|
|
Poslao: 20 Maj 2013 23:15
|
offline
- Rastafarii

- Moderator foruma
- Pridružio: 22 Mar 2006
- Poruke: 3760
- Gde živiš: 127.0.0.1
|
if(mysql_fetch_array($sql_admins)>=1)
Prvo proveri sta vraca mysql_fetch_array:
Citat:Returns an array of strings that corresponds to the fetched row, or FALSE if there are no more rows.
I onda vidis da vraca ili niz, ili (boolean) false, kao i da ne postoji scenario u kome ce da vrati integer.
Kao sto je kolega MeD vec napomenuo, koristi mysql_num_rows u tom uslovu, i to je to.
Btw, koriscenje mysql_* funkcija se vec neko vreme ne preporucuje:
Citat:This extension is deprecated as of PHP 5.5.0, and will be removed in the future.
|
|
|
|
Poslao: 21 Maj 2013 09:44
|
offline
- FoxVanis

- Ugledni građanin
- Web Designer, PHP Developer; HTML, CSS, SQL, jQuery Programmer
- Pridružio: 13 Jun 2010
- Poruke: 307
- Gde živiš: Subotica
|
Rastafarii ::if(mysql_fetch_array($sql_admins)>=1)
Prvo proveri sta vraca mysql_fetch_array:
Citat:Returns an array of strings that corresponds to the fetched row, or FALSE if there are no more rows.
I onda vidis da vraca ili niz, ili (boolean) false, kao i da ne postoji scenario u kome ce da vrati integer.
Kao sto je kolega MeD vec napomenuo, koristi mysql_num_rows u tom uslovu, i to je to.
Btw, koriscenje mysql_* funkcija se vec neko vreme ne preporucuje:
Citat:This extension is deprecated as of PHP 5.5.0, and will be removed in the future.
Mhmmmm. Šta će se onda koristiti? nisam čitao ranije o tome.
Kako ti konektuješ bazu i izlistavaš? Ali bez class funkcija, hoću čisto da vidim.
Veoma mi je važno zbog projekta kojeg radim ali i za druge PHP programere je veoma bitno.
|
|
|
|
|