CodeIgniter Выбрать запрос
У меня есть простой запрос активной записи CodeIgniter для выбора идентификатора:
$q = $this -> db
-> select('id')
-> where('email', $email)
-> limit(1)
-> get('users');
Как я могу присвоить вышеуказанный идентификатор переменной (например, $id) Например,
echo "ID is" . $id;
Благодарю.
9 ответов
Это довольно просто. Например, вот мой случайный код:
function news_get_by_id ( $news_id )
{
$this->db->select('*');
$this->db->select("DATE_FORMAT( date, '%d.%m.%Y' ) as date_human", FALSE );
$this->db->select("DATE_FORMAT( date, '%H:%i') as time_human", FALSE );
$this->db->from('news');
$this->db->where('news_id', $news_id );
$query = $this->db->get();
if ( $query->num_rows() > 0 )
{
$row = $query->row_array();
return $row;
}
}
Это вернет "строку", которую вы выбрали в виде массива, чтобы вы могли получить к ней доступ следующим образом:
$array = news_get_by_id ( 1 );
echo $array['date_human'];
Я также настоятельно рекомендую не цеплять запрос, как вы. Всегда держите их отдельно, как в моем коде, который намного легче читать.
Также обратите внимание, что если вы указываете имя таблицы в from(), вы вызываете функцию get() без параметра.
Если вы не поняли, не стесняйтесь спрашивать:)
Используйте строки результатов.
Методrow() возвращает одну строку результата.
$id = $this
-> db
-> select('id')
-> where('email', $email)
-> limit(1)
-> get('users')
-> row();
тогда вы можете просто использовать как хотите.:)
echo "ID is" . $id;
Один короткий путь будет
$id = $this -> db
-> select('id')
-> where('email', $email)
-> limit(1)
-> get('users')
-> row()
->id;
echo "ID is ".$id;
function news_get_by_id ( $news_id )
{
$this->db->select('*');
$this->db->select("DATE_FORMAT( date, '%d.%m.%Y' ) as date_human", FALSE );
$this->db->select("DATE_FORMAT( date, '%H:%i') as time_human", FALSE );
$this->db->from('news');
$this->db->where('news_id', $news_id );
$query = $this->db->get();
if ( $query->num_rows() > 0 )
{
$row = $query->row_array();
return $row;
}
}
This
Это твой код
$q = $this -> db
-> select('id')
-> where('email', $email)
-> limit(1)
-> get('users');
Попробуй это
$id = $q->result()[0]->id;
или этот проще
$id = $q->row()->id;
Вот пример кода:
public function getItemName()
{
$this->db->select('Id,Name');
$this->db->from('item');
$this->db->where(array('Active' => 1));
return $this->db->get()->result();
}
Когда вы используете codeIgniter Framework, тогда переходите по этой ссылке на активные записи. как данные взаимодействуют со структурой и многое другое.
Следующие функции позволяют создавать операторы SQL SELECT.
Выбор данных
$this->db-> Get();
Запускает запрос выбора и возвращает результат. Может быть использован для извлечения всех записей из таблицы:
$query = $this->db->get('mytable');
С доступом к каждому ряду
$query = $this->db->get('mytable');
foreach ($query->result() as $row)
{
echo $row->title;
}
Где подсказки
$this->db->get_where();
НАПРИМЕР:
$query = $this->db->get_where('mytable', array('id' => $id), $limit, $offset);
Выберите поле
$this->db->select('title, content, date');
$query = $this->db->get('mytable');
// Produces: SELECT title, content, date FROM mytable
НАПРИМЕР
$this->db->select('(SELECT SUM(payments.amount) FROM payments WHERE payments.invoice_id=4') AS amount_paid', FALSE);
$query = $this->db->get('mytable');
echo $this->db->select('title, content, date')->get_compiled_select();
$query= $this->m_general->get('users' , array('id'=> $id ));
echo $query[''];
в порядке;)
public function getSalary()
{
$this->db->select('tbl_salary.*,tbl_employee.empFirstName');
$this->db->from('tbl_salary');
$this->db->join('tbl_employee','tbl_employee.empID = strong texttbl_salary.salEmpID');
$this->db->where('tbl_salary.status',0);
$query = $this->db->get();
return $query->result();
}