根据php中的任务状态更新列表状态简化了代码

时间:2012-09-20 05:20:34

标签: php mysql

我有一个带有taskstatus的表任务和带有liststatus的表,我想根据任务状态更新liststatus。如果所有用户的任务状态为0,则将列表状态更新为0,如果所有用户的任务状态为1,则更新列表状态为1.如果功能更新查询不起作用,请告诉我原因。

   public function setcompletedtask($taskid, $taskstatus)
    {
    $result = mysql_query("UPDATE task SET taskstatus = '$taskstatus' WHERE taskid = '$taskid'");
    $y = mysql_affected_rows();
    for($i=0;$i<$y ;$i++)
        {
        $result=mysql_fetch_array($result);
        $taskidupdate = $result['taskid'];
        $resultselect = mysql_query("SELECT * FROM task WHERE taskid = '$taskidupdate'");
        //$no_of_rows = mysql_num_rows($resultselect);
        //if ($no_of_rows > 0) {
        $resultselect = mysql_fetch_array($resultselect);
        $resultlistid = $resultselect['listid'];
        $resulttaskstatus = $resultselect['taskstatus'];
        $resultupdate = mysql_query("UPDATE list SET liststatus = '$resulttaskstatus' WHERE listid = '$resultlistid'");
        //$resultupdate = mysql_fetch_array($resultupdate);
        }
        if ($resultupdate){return true;} else {return false;}

    }   

1 个答案:

答案 0 :(得分:0)

你正在做一个更新查询,你想怎么想mysql_fetch !!!?

这是php网站上的一条说明: http://php.net/manual/en/function.mysql-query.php

  

对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他返回结果集的语句,mysql_query()会在成功时返回资源,或者在出错时返回FALSE。

     

对于其他类型的SQL语句,INSERT,UPDATE,DELETE,DROP等,mysql_query()成功时返回TRUE,错误时返回FALSE。

您应首先选择符合条件的所有记录,然后根据其主键字段对其进行更新...