louis_coetzee Posted April 17, 2009 Share Posted April 17, 2009 Hi, I call this code in a function when certain stuff happens. needs to update counter field in db, default it is set to 0. It does increment, but only once. so I end up with 1 and it does'nt want to go to 2 3 4 5 6 etc. Please help $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $dbname = 'lifestylediet'; $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); mysql_select_db($dbname); $result = mysql_query("SELECT * FROM tickets where tick_id = '$ticketid'"); while ($row = mysql_fetch_array($result)) { $counterval = $row[$counter]; } $counterval = $counterval+1; mysql_query("UPDATE tickets SET counter = '$counterval' where tick_id = '$ticketid'"); Quote Link to comment https://forums.phpfreaks.com/topic/154487-increment-problem/ Share on other sites More sharing options...
premiso Posted April 17, 2009 Share Posted April 17, 2009 Just run the update query. No need to pull the information out... mysql_query("UPDATE tickets SET counter = (`counter`+1) where tick_id = '$ticketid'"); Would update the counter variable to add one to it. One query and no extra code needed. Quote Link to comment https://forums.phpfreaks.com/topic/154487-increment-problem/#findComment-812278 Share on other sites More sharing options...
sloth456 Posted April 17, 2009 Share Posted April 17, 2009 Hi, I call this code in a function when certain stuff happens. needs to update counter field in db, default it is set to 0. It does increment, but only once. so I end up with 1 and it does'nt want to go to 2 3 4 5 6 etc. Please help $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $dbname = 'lifestylediet'; $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); mysql_select_db($dbname); $result = mysql_query("SELECT * FROM tickets where tick_id = '$ticketid'"); while ($row = mysql_fetch_array($result)) { $counterval = $row[$counter]; } $counterval = $counterval+1; mysql_query("UPDATE tickets SET counter = '$counterval' where tick_id = '$ticketid'"); Don't you need to put: $counterval = $counterval+1; mysql_query("UPDATE tickets SET counter = '$counterval' where tick_id = '$ticketid'"); inside the while loop? Quote Link to comment https://forums.phpfreaks.com/topic/154487-increment-problem/#findComment-812290 Share on other sites More sharing options...
mtoynbee Posted April 17, 2009 Share Posted April 17, 2009 UPDATE tickets SET counter = (SELECT COUNT(*) FROM tickets where tick_id = '$ticketid') WHERE tick_id = '$ticketid' Puleeese.... Quote Link to comment https://forums.phpfreaks.com/topic/154487-increment-problem/#findComment-812295 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.