Reputation: 497
In all the examples of Codeigniter queries at https://www.codeigniter.com/user_guide/database/results.html, I find that the name of the field must be known to get its value.
$query = $this->db->query("SELECT title,name,body FROM table");
foreach ($query->result() as $row)
{
echo $row->title;
echo $row->name;
echo $row->body;
}
For example, if I want to get the title
, I will perform row->title
. Is there a way to get the title
using an index e.g. like $row[0]
?
Upvotes: 1
Views: 1487
Reputation: 1
Slightly more elegant way:
$data = $this->db->query("SELECT title,name,body FROM table")->result_array();
array_walk($data,function(&$row) {
$row = array_values($row);
});
And you have $data array with numeric indexes.
Upvotes: 0
Reputation: 1
<?php
$result = $subject_code->result_array();
foreach($result as $res){
$r = array_values($res);
print_r($r);
}
?>
I applied the above code but in o/p index of each value is comming 0
o/p- Array ( [0] => 201 ) Array ( [0] => 202 ) Array ( [0] => 203 ) Array ( [0] => 204 ) Array ( [0] => 205 )
Upvotes: 0
Reputation: 6344
Use result_array
function returns the query result as a pure array
$query = $this->db->query("SELECT title,name,body FROM table");
$result = $query->result_array();
foreach($result as $res){
echo $res['title'];
echo $res['name'];
echo $res['body'];
}
if you want to access via index then use array_values:
$result = $query->result_array();
foreach($result as $res){
$r = array_values($res);
echo $r[0];
echo $r[1];
echo $r[2];
}
Upvotes: 3