Foreach in代码点火器工作不正常


Foreach in codeigniter not working properly

我的项目的概念是从数据库中获取基于天的价格。我已经成功地从数据库中获取了数据,但问题是我无法获取相应日期的价格金额,这里我使用的是动态天数,我不知道如何获取。

$day1 = $date->format('l')."'n";
$this->db->select($day1);
$this->db->where('filename',$data['roomname']);
$query = $this->db->get('rooms'); 
$bb = $query->result();
print_r($bb);
foreach($bb as $row)
 $price =  $price + $row->$day1;

错误,

A PHP Error was encountered
Severity: Notice
Message: Undefined property: stdClass::$Tuesday
Filename: controllers/home.php
Line Number: 332

我的表格结构

希望有人能给我指出解决办法。谢谢

可能是您的$day是一个有空格的字符串,因此根据此更改代码并尝试

  $bb = $query->result();
  $day1 = str_replace(' ', '', $day1); 
  foreach($bb as $row)
     $price =  $price + $row->$day1;

或者,

  $bb = $query->result_array();
  $day1 = str_replace(' ', '', $day1); 
  foreach($bb as $row)
     $price =  $price + $row[$day1];

或者作为一行:

  $bb = $query->row();
  $day1 = str_replace(' ', '', $day1);
     $price =  $price + $bb->$day1;

我希望它能在上运行

请通过从代码中删除"''n"

更改此项:

$day1 = $date->format('l')."'n";

收件人:

$day1 = $date->format('l');
CodeIgniter将结果行作为对象而非数组返回。

result():此函数将查询结果作为对象,或失败时为空数组。

您必须使用以下符号访问字段:

foreach($bb as $row)
    $price =  $price + $row->day1;

如果你真的想要一个数组,你可以使用:

$bb = $query->result_array();

其将返回与关联阵列相同的信息

然后你可以访问它作为:

foreach($bb as $row)
    $price =  $price + $row[$day1];