#php #codeigniter
#php #codeigniter
Вопрос:
это мой модуль
function order_alert($email){
$this->db->select("tbl_customer_registration.cus_mobile");
$this->db->from('tbl_customer_registration');
$this->db->where('tbl_customer_registration.cus_email', $email);
$query = $this->db->get();
echo '<pre>';
print_r($query->result()) ;
}
Он возвращает следующий результат для приведенного выше кода
Array
(
[0] => stdClass Object
(
[cus_mobile] => 0716352642
)
)
В контроллере я использую foreach
foreach($result as $row) :
echo $row['cus_mobile'];
чтобы получить [cus_mobile]
доступ к вышеуказанному массиву, но он выдает мне все [cus_mobile]
строки в tbl_customer_registration
.
Как мне получить из этого единственное [cus_mobile] => 0716352642
.
Ответ №1:
$row->cus_mobile
поскольку у вас есть массив объектов.. не совсем уверен, понял ли я ваш вопрос
(ОБНОВЛЕНО) Попробуйте это..
foreach($query->result() as $row) {
echo $row->cus_mobile;
}
Ответ №2:
Если я правильно понял ваш вопрос, что вы делаете, это извлекаете данные в виде массива объектов и пытаетесь получить доступ к его данным в виде чистого массива. Для этого, поскольку вы имеете в виду, что вы можете получить результат данных в виде массива, есть метод, который называется, result_array()
вы могли бы использовать его вместо $query->result()
.
echo '<pre>';
print_r($query->result_array()) ;
foreach($result as $key => $row) :
echo $row['cus_mobile'];
Ответ №3:
function order_alert($email){
$this->db->select("tbl_customer_registration.cus_mobile");
$this->db->from('tbl_customer_registration');
$this->db->where('tbl_customer_registration.cus_email', $email);
$query = $this->db->get();
if($query->num_rows()==1)
$result_row = $query->row();
return $result_row;
else
return false;
}
foreach($result_row as $row) {
echo $row->cus_mobile;
}
Это будет работать, если результат содержит одну строку… теперь нужно обработать регистр более чем для одной строки.Спасибо