Jump to content

php mysql update query limit?


RajkumarLA

Recommended Posts

Table:

cquestions -> cqid, cqtext, showdate.

I want to update 'showdate' field to tomorrows date..


cqid    cqtext    showdate
    200    q1    2013-05-22
    201    q2    0000-00-00
    202    q3    0000-00-00

the idea is to display only one question everyday. showdate is compared with the current date and display the first question q1. the starting date only store in db. now i want to update only the next row (q2)'s showdate to tomorrows date. next day wen q2 is displayed q3 will be updated to tomorrows date.

today  q1 displayed. db is like this.
cqid    cqtext    showdate
200    q1    2013-05-22
201    q2    2013-05-23
202    q3    0000-00-00

tomorrow q2 displayed. then db 
cqid    cqtext    showdate
200    q1    2013-05-22
201    q2    2013-05-23
202    q3    2013-05-24
203    q4    0000-00-00 

my code:

 $today=date("Y/m/d");
$tomorrow= date("Y-m-d", strtotime("tomorrow"));
echo "<form method='post' id='submit' action='checkresult.php'>";
$sql="SELECT * FROM cquestions where showdate= '$today' limit 1";
$result=mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
    $cqid=mysql_result($result,"cqid");
$update1="update cquestions set showdate='$tomorrow' where showdate='0000-00-00' and cqid!='$cqid' order by cqid limit 1";
mysql_query($update1);

echo "<p>" . $row['cqtext'] . "</p>";
$sql2="SELECT * FROM canswers where cqid=".$row['cqid'];
$result2=mysql_query($sql2);
while($row2=mysql_fetch_assoc($result2)){
echo "<input type='radio' name='".$row['cqid']."' value='".$row2['cqans']."' />".$row2['aatext']; }
/*echo "<input type='hidden' name='email' value='email' />";*/
}
echo"<input type='submit' id='submit' name='submit' value='Submit Answers' />";
echo "</form>";
?>

this code update the next row, but the problem is its executed every time page loads and update the next row... i want to execute the update query only once for the day. how to do it?

Link to comment
https://forums.phpfreaks.com/topic/278269-php-mysql-update-query-limit/
Share on other sites

Barand

 

no. there is only today's date in the database. all other rows doesn't  have date. when the first row displayed i will insert the 2nd rows date as 'tomorrows' date. so next day the 2nd row will be displayed and 3rd row's date is updated to next day's date. 

 

the above code is working fine. the problem is that update query runs every time the page loads. i want to run the update query only once in a day....

if you want to run the query once a day set it as a cron job rather than having it run on a browser script. If you absoloutly must use a browser script have it check the date and only run it if it hasn't run on this date already.

 

oh yeah, and don't run queries inside loops.

Barand

 

no. there is only today's date in the database. all other rows doesn't  have date. when the first row displayed i will insert the 2nd rows date as 'tomorrows' date. so next day the 2nd row will be displayed and 3rd row's date is updated to next day's date. 

 

the above code is working fine. the problem is that update query runs every time the page loads. i want to run the update query only once in a day....

 

When you run it today it will put tomorrows date in there. So when you load the page again today you don't want to run it if tomorrows date is already there

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.