[ dejan @ 29.06.2005. 20:50 ] @
Mislim da cu izludeti... pravim nekakav forum i hteo bi da hteo bi da imam zabelezen broj pregleda neke teme. Na jednom mestu na stranici pozivam:

mysql_query("UPDATE thread SET views=views+1 WHERE threadid='$threadid'",$db) or die ("Invalid query!");

Iz nekog razloga ovo ne poveca vrednost views kolone za 1, nego nekad za 2, nekad za 3, nekad za 4... a nista nije u petlji.

views je definisan kao mediumint(8) UNSIGNED. Jel nesto nisam napisao kako treba?!
[ Dejan Topalovic @ 29.06.2005. 20:54 ] @
Hm, na prvi pogled mi SQL upit djeluje korektan. Ne pada mi trenutno nista na pamet sta bi moglo biti uzrok tom nejednakom povecavanju vrijednosti...
[ dejan @ 29.06.2005. 22:20 ] @
Ono sto je najcudnije jeste sledeca stvar... na sam kraj stranice sam (provere radi) stavio jedno:

SELECT * FROM thread WHERE threadid='$threadid'

i tu dobijam vrednost views koja je zaista povecana za 1. Ali ako potom pozovem novu stranicu sa istom tom komandom dobijam te vece vrednosti?!!?!

Dakle, kao da server sam, posto mi prosledi tu prvobitnu stranicu, jos malo izmeni bazu?! Stvarno sam zbunjen.......
[ MorenoArdohain @ 29.06.2005. 22:34 ] @
SQL upiti su ok, nesto drugo si zeznuo.. Mozes li dati source te strane/PHP skripte?
[ dejan @ 29.06.2005. 23:13 ] @
Evo ga... izvukao sam ne-php delove stranice...
[ dejan @ 30.06.2005. 09:14 ] @
Znaci, ovo je skroz neverovatno... izbacio sam "sumnjivi" query i umesto njega stavio najobicniji:

UPDATE thread SET views='$views' WHERE threadid='$threadid'

Kada na kraju skripte proverim vrednosti sve je ok, ali u bazi on ponovo ima vece vrednosti.

Sta tu moze da se dogadja?!?? Kao da tek posle izvrsenja skripte on pobrljavi?
[ MorenoArdohain @ 30.06.2005. 15:18 ] @
Na prvi pogled, sve mi izgleda ok, SQL upiti su korektni..
Tako da nemam predstavu sta moze biti.. Da nije neka petlja u pitanju, ili redirekcija na samu sebe, i slicno?
Drugo, proveri diretno u bazi koje su vrednosti, a ne iz PHP skripte..

Pa javi ako si nasao nesto