我的项目的概念是从数据库中获取基于日期的价格。我已成功从数据库中获取数据,但问题是我无法获取相应日期的价格金额,这里我使用的是动态日期我不知道如何获取它。
$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
希望有人能指出我的解决方案。 感谢。
答案 0 :(得分:0)
可能是您的$ 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;
我希望它有效
答案 1 :(得分:0)
请删除" \ n"来自你的代码
改变这一点:
$day1 = $date->format('l')."\n";
要强>
$day1 = $date->format('l');
答案 2 :(得分:-1)
CodeIgniter将结果行作为对象返回,而不是数组。
result():此函数将查询结果作为数组返回 对象,或失败时的空数组。
您必须使用以下表示法访问字段:
foreach($bb as $row)
$price = $price + $row->day1;
如果你真的想要一个数组,你可以使用:
$bb = $query->result_array();
将返回与关联数组相同的信息
然后您可以按以下方式访问它:
foreach($bb as $row)
$price = $price + $row[$day1];