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'"); 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. 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? 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.... Link to comment https://forums.phpfreaks.com/topic/154487-increment-problem/#findComment-812295 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.