没有成功执行foreach

时间:2016-12-15 14:42:45

标签: php codeigniter

我写了以下PHP + codeigniter代码:

$msg = $this->db->get('Messages');
$curDate = date('Y-m-d H:i:s');
$array = array('IsRead =' => 0, 'Date <=' => $curDate);

$this->db->where($array);
$this->db->set(array('IsRead' => 1));
$this->db->update('Messages');

这基本上检查Messages表中的哪些记录符合有关字段IsReadDate的两个条件,然后仅更新这些记录。

现在我想获取符合上述条件的每个Date值并为其执行一些PHP代码。我认为这是foreach指令可以管理的工作,但我没有成功编码。

我能请求帮助。

2 个答案:

答案 0 :(得分:0)

尝试以下代码,希望有所帮助......

    $curDate = date('Y-m-d H:i:s');
    $array = array('IsRead' => 0, 'Date <=' => $curDate);
    $this->db->where($array);
    $this->db->set('IsRead',1));
    $this->db->update('Messages');
    if ($this->db->affected_rows()>0) {
      echo "Update successful";       
       }
      else
      {
        echo "No any row updated";
      } 

答案 1 :(得分:0)

所以,答案似乎是:

    $curDate = date('Y-m-d H:i:s');
    $array = array('IsRead =' => 0, 'Date<=' => $curDate);

    $this->db->where($array);
    $msg = $this->db->get('Messages');
    foreach ($msg->result() as $row)
    {
            echo $row->Date . " "; //here goes the PHP code
    }

    $this->db->where($array);
    $this->db->set(array('IsRead' => 1));
    $this->db->update('Messages');