[ paja_odi @ 08.10.2005. 16:13 ] @
U bazi podataka imam tabelu "tablica" sa poljima id, ime, pob, por. Pob i por su formatirani kao int(11)pokusavam da izvrsim update php skriptom mysql_query("UPDATE tablica SET , pob=pob+'$u' , por=por+'$b' WHERE id='1'") ali mi stalno vrjednosti pob i por vraća na 0. $u i $b su varijable koje dobijam pomoću $u=$_POST['$u'] i $b=$_POST['$b'] s druge stranice takođe uradio sam i settype($u, "integer) i settype($u, "integer) i opet ne uspjevam. Kad pokusam sa npr. mysql_query("UPDATE stanje SET , pob=pob+5 , por=por+7 WHERE id='1'") radi normalno.

[Ovu poruku je menjao paja_odi dana 08.10.2005. u 22:41 GMT+1]

[Ovu poruku je menjao paja_odi dana 09.10.2005. u 17:39 GMT+1]
[ Nemanja Avramović @ 08.10.2005. 16:40 ] @
za pocetak probaj sabiranje da izvrsis izvan query-ja... tako je preglednije, a mozda i uspe
[ paja_odi @ 08.10.2005. 17:04 ] @
Pokusavao sam i to, ali bih onda zakomplikovao posto tad moram prvo da ucitam postojecu vrjednost iz tabele.
[ dado_k @ 08.10.2005. 18:04 ] @
postavi naredbu
mysql_query("tvoj query")or die(mysql_error());
pa vidi što ti kaže mysql di je greška
[ paja_odi @ 08.10.2005. 21:54 ] @
Ne prijavljuje gresku on izvrsi update ali umjesto da vrjednost pob uveca za varijablu $u on je postavi na 0 isto i sa poljem por.
[ _owl_ @ 09.10.2005. 00:05 ] @
Citat:

mysql_query("UPDATE tablica SET , pob=pob+'$u' , por=por+'$b' WHERE id='1'")

Pa imas par greskica u upitu:
1. zarez iza SET (nije tolko bitno mozda nisi dao ceo upit)
2. nikako mi nije jasno kako se sabiraju brojevi sa slovima (kada stavis jednostruke navodnike oko $u i $b to vise nisu brojevi)
[ sale83 @ 09.10.2005. 08:06 ] @
Kao sto _owl_ kaze ako si onaj zarez ostavio tamo to je jedna od mogucih gresaka!!

Isto sto ti kaze JaHvram zasto ne saberes ono sto ti treba izvan query ??
Ako sve dobro uradis mora da radi !!!!!! Negde pravis gresku !!!

Code:


// recimo imamo dobijene rezultate za
$pob = 5;
$por = 10;

// isto tako imamo dobijene rezultate za
$u = 1;
$b = 2;

// onda  sledece vrednosti dobijamo na osnovu :
$pob1= $pob+$u ; 
$por1= $por+$b;

// Ako bi uradi echo dobio bi sledece
//echo $pob1; //  6
//echo $por1; // 12

// Radimo query 

$query = "UPDATE tablica  SET pob='$pob1', por='$por1' WHERE id='1'";

// kako echo izlaz dobio bi sledece:
//echo $query ; // UPDATE tablica SET pob='6', por='12' WHERE id='1'

// Nakon ovog ako je sve uradu mora da dobijes ono sto si trazio !!!
$rezultat = mysql_query($query);




[Ovu poruku je menjao sale83 dana 09.10.2005. u 09:06 GMT+1]
[ noviKorisnik @ 09.10.2005. 09:58 ] @
Naprotiv, ako sabiranje vrši u sql-u da ne mora da dovlači podatke za $pob i $por u php.
Citat:
mysql_query ("UPDATE tablica SET pob = pob + $u, por = por + $b WHERE id = 1");

Jednostavno se očisti upit od viškova koje je _owl_ primetio, i treba da radi.
[ paja_odi @ 09.10.2005. 16:38 ] @
Taj zarez slucajno sam otkucao samo u postu. Niste dobro procitali pocetni post. Znaci $u i $b su varijable koje upisujem u formular koji kad se submituje ucitava php skriptu u kojoj se nalazi i ovaj mysql upit.
[ SmilieBG @ 09.10.2005. 18:10 ] @
2 stvari uradi:

1. pre $query dodaj samo:
echo "u je: ".$_POST['u']."<br>";
echo "b je: ".$_POST['b']."<br>";

2. umesto mysql_query($query) uradi:
echo $query;

Pa reci sta ti tamo pise ;)

Poz,
Sale
[ paja_odi @ 09.10.2005. 21:48 ] @
Hvala svima na odgovorima narocito SmilieBG greska nije bila u php skriptu nego na formi jer nisam definisao method GET ili POST pa formular nije prosljedjivao nikakve podatke skripti.