在codeigniter中使用PHP导出表中的对象数组
我有一组对象,看起来像这样:在codeigniter中使用PHP导出表中的对象数组,php,mysql,arrays,codeigniter,Php,Mysql,Arrays,Codeigniter,我有一组对象,看起来像这样: Done: array(2) { [0]=> object(stdClass)#107 (19) { ["id"]=> string(1) "6" ["apartament"]=> string(1) "1" ["nume"]=> string(5) "SURCA" ["persoane"]=> string(1) "2" ["mp"]=> string(4) "37.7" ["retim"]=> string(5) "1
Done: array(2) {
[0]=>
object(stdClass)#107 (19) {
["id"]=>
string(1) "6"
["apartament"]=>
string(1) "1"
["nume"]=>
string(5) "SURCA"
["persoane"]=>
string(1) "2"
["mp"]=>
string(4) "37.7"
["retim"]=>
string(5) "19.19"
["incalzire"]=>
string(5) "74.74"
["apacaldamc"]=>
string(1) "3"
["apacaldalei"]=>
string(5) "47.48"
["apacaldadif"]=>
string(4) "3.72"
["aparecemc"]=>
string(1) "8"
["aparecelei"]=>
string(5) "54.73"
["aparecedif"]=>
NULL
["curent"]=>
string(3) "345"
["gaz"]=>
string(3) "2.5"
["administrator"]=>
string(5) "17.01"
["cheltuieliadministrare"]=>
string(4) "2.05"
["acoperis"]=>
string(4) "62.5"
["timp"]=>
string(19) "2017-04-28 10:04:28"
}
[1]=>
object(stdClass)#108 (19) {
["id"]=>
string(1) "7"
["apartament"]=>
string(1) "2"
["nume"]=>
string(8) "ENACHIUC"
["persoane"]=>
string(1) "1"
["mp"]=>
string(5) "37.07"
["retim"]=>
string(3) "9.6"
["incalzire"]=>
string(4) "73.5"
["apacaldamc"]=>
string(1) "3"
["apacaldalei"]=>
string(5) "15.83"
["apacaldadif"]=>
string(4) "3.72"
["aparecemc"]=>
string(1) "2"
["aparecelei"]=>
string(5) "13.68"
["aparecedif"]=>
string(1) "0"
["curent"]=>
string(4) "0.66"
["gaz"]=>
string(4) "1.25"
["administrator"]=>
string(5) "17.01"
["cheltuieliadministrare"]=>
string(4) "2.05"
["acoperis"]=>
string(4) "62.5"
["timp"]=>
string(19) "2017-04-28 10:11:25"
}
}
if ($databaseOject->num_rows > 0) {
echo "<table><tr><th>id</th><th>apartament</th><th>nume</th><th>apartament</th><th>persoane</th><th>mp</th><th>retim</th><th>incalzire</th><th>apacaldamc</th><th>apacaldalei</th><th>apacaldadif</th><th>aparecemc</th><th>aparecelei</th><th>aparecedif</th><th>curent</th><th>gaz</th><th>administrator</th><th>cheltuieliadministrare</th><th>acoperis</th><th>timp</th></tr>";
// output data of each row
while($row = $databaseOject->fetch_assoc()) {
echo "<tr><td>".$row["id"]."</td><td>".$row["apartament"]."</td><td>".$row["nume"]."</td><td>".$row["persoane"]."</td><td>".$row["mp"]."</td><td>".$row["retim"]."</td><td>".$row["incalzire"]."</td><td>".$row["apacaldamc"]."</td><td>".$row["apacaldalei"]."</td><td>".$row["apacaldadif"]."</td><td>".$row["aparecemc"]."</td><td>".$row["aparecelei"]."</td><td>".$row["aparecedif"]."</td><td>".$row["curent"]."</td><td>".$row["gaz"]."</td><td>".$row["administrator"]."</td><td>".$row["cheltuieliadministrare"]."</td><td>".$row["acoperis"]."</td><td>".$row["timp"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
我从一个标准查询中得到:
$sql ="SELECT * FROM consum WHERE timp BETWEEN '".$fromDate."' AND '".$toDate."'";
$query = $this->db->query($sql);
$databaseOject = $query->result();
我试着这样做:
Done: array(2) {
[0]=>
object(stdClass)#107 (19) {
["id"]=>
string(1) "6"
["apartament"]=>
string(1) "1"
["nume"]=>
string(5) "SURCA"
["persoane"]=>
string(1) "2"
["mp"]=>
string(4) "37.7"
["retim"]=>
string(5) "19.19"
["incalzire"]=>
string(5) "74.74"
["apacaldamc"]=>
string(1) "3"
["apacaldalei"]=>
string(5) "47.48"
["apacaldadif"]=>
string(4) "3.72"
["aparecemc"]=>
string(1) "8"
["aparecelei"]=>
string(5) "54.73"
["aparecedif"]=>
NULL
["curent"]=>
string(3) "345"
["gaz"]=>
string(3) "2.5"
["administrator"]=>
string(5) "17.01"
["cheltuieliadministrare"]=>
string(4) "2.05"
["acoperis"]=>
string(4) "62.5"
["timp"]=>
string(19) "2017-04-28 10:04:28"
}
[1]=>
object(stdClass)#108 (19) {
["id"]=>
string(1) "7"
["apartament"]=>
string(1) "2"
["nume"]=>
string(8) "ENACHIUC"
["persoane"]=>
string(1) "1"
["mp"]=>
string(5) "37.07"
["retim"]=>
string(3) "9.6"
["incalzire"]=>
string(4) "73.5"
["apacaldamc"]=>
string(1) "3"
["apacaldalei"]=>
string(5) "15.83"
["apacaldadif"]=>
string(4) "3.72"
["aparecemc"]=>
string(1) "2"
["aparecelei"]=>
string(5) "13.68"
["aparecedif"]=>
string(1) "0"
["curent"]=>
string(4) "0.66"
["gaz"]=>
string(4) "1.25"
["administrator"]=>
string(5) "17.01"
["cheltuieliadministrare"]=>
string(4) "2.05"
["acoperis"]=>
string(4) "62.5"
["timp"]=>
string(19) "2017-04-28 10:11:25"
}
}
if ($databaseOject->num_rows > 0) {
echo "<table><tr><th>id</th><th>apartament</th><th>nume</th><th>apartament</th><th>persoane</th><th>mp</th><th>retim</th><th>incalzire</th><th>apacaldamc</th><th>apacaldalei</th><th>apacaldadif</th><th>aparecemc</th><th>aparecelei</th><th>aparecedif</th><th>curent</th><th>gaz</th><th>administrator</th><th>cheltuieliadministrare</th><th>acoperis</th><th>timp</th></tr>";
// output data of each row
while($row = $databaseOject->fetch_assoc()) {
echo "<tr><td>".$row["id"]."</td><td>".$row["apartament"]."</td><td>".$row["nume"]."</td><td>".$row["persoane"]."</td><td>".$row["mp"]."</td><td>".$row["retim"]."</td><td>".$row["incalzire"]."</td><td>".$row["apacaldamc"]."</td><td>".$row["apacaldalei"]."</td><td>".$row["apacaldadif"]."</td><td>".$row["aparecemc"]."</td><td>".$row["aparecelei"]."</td><td>".$row["aparecedif"]."</td><td>".$row["curent"]."</td><td>".$row["gaz"]."</td><td>".$row["administrator"]."</td><td>".$row["cheltuieliadministrare"]."</td><td>".$row["acoperis"]."</td><td>".$row["timp"]."</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
if($databaseobject->num\u rows>0){
echo“我的部分是指我的部分是指我的部分,我的部分是指我的部分,我的部分是指我的部分,我的部分是指我的部分,我的部分是指我的部分,我的部分是指我的部分。”;
//每行的输出数据
而($row=$databaseobject->fetch_assoc()){
“环行[“nume”..”。“环行[“nume”...美元行[“nume”..”..........美元行[“persoane”.............美元行[“id”[“id””...[行[“id”id”.................[行[“努[“Nu我我”...[鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于“鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于”............................[鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于鉴于划船[“cheltuieliadministrare”]。$row[“acoperis”]。$row[“timp”];
}
回声“;
}否则{
回显“0结果”;
}
但我得到:
正在尝试获取非对象的属性
事实上,$DatabaseObject不是一个对象,它是一个对象数组,可能这就是我得到这个错误的原因,但是我如何在我的案例中创建表——对象数组?非常感谢您的时间!查询结果()是一个stdobject数组,您可以使用一个简单的
foreach
循环来遍历它们。要访问它们的属性,因为它们是stdobject而不是数组,您需要将
$row['id']
替换为$row->id
,或者将result()
替换为result\u array()
我强烈建议您阅读有关该主题的文档。非常简单,您应该了解在查询result()
之前应该实现num\u rows()
的结果帮助函数,如下所示:
$sql ="SELECT * FROM consum WHERE timp BETWEEN '".$fromDate."' AND '".$toDate."'";
$query = $this->db->query($sql);
if($query->num_rows() > 0)
{
$databaseObject = $query->result();
}
因此,您可以在获取之前检查结果是否存在
供参考:
希望有帮助