Кодовый конструктор Выберите запрос


У меня есть простой запрос активной записи CodeIgniter для выбора идентификатора:

$q = $this -> db
           -> select('id')
           -> where('email', $email)
           -> limit(1)
           -> get('users');

Как я могу присвоить указанный выше идентификатор переменной (например, $id) Например,

echo "ID is" . $id;

Спасибо.

Author: Roman, 2011-06-20

9 answers

Это довольно просто. Например, вот мой случайный код:

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() без параметра.

Если вы не поняли, не стесняйтесь спрашивать:)

 17
Author: Herr, 2011-06-20 07:40:35

Использовать Строки результатов.
метод row() возвращает одну строку результата.

$id = $this 
    -> db
    -> select('id')
    -> where('email', $email)
    -> limit(1)
    -> get('users')
    -> row();

Затем вы можете просто использовать, как хотите. :)

echo "ID is" . $id;
 2
Author: Pasindu Jayanath, 2018-05-02 11:01:09

Одним коротким путем было бы

$id = $this -> db
       -> select('id')
       -> where('email', $email)
       -> limit(1)
       -> get('users')
       -> row()
       ->id;
echo "ID is ".$id;
 2
Author: Raza Ahmed, 2018-05-02 11:45:45
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 
 1
Author: , 2015-02-18 06:11:52

При использовании Фреймворка CodeIgniter затем перейдите по этой ссылке на активные записи. как данные взаимодействуют со структурой и многое другое.

Следующие функции позволяют создавать инструкции SQL SELECT.

Выбор Данных

$ это->бд->получить();

Запускает запрос выбора и возвращает результат. Может использоваться сам по себе для извлечения всех записей из таблицы:

$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');
 0
Author: Ravi Chauhan, 2015-02-18 05:35:33

Это ваш код

$q = $this -> db
       -> select('id')
       -> where('email', $email)
       -> limit(1)
       -> get('users');

Попробуйте это

$id = $q->result()[0]->id;

Или этот, он проще

$id = $q->row()->id;
 0
Author: Vindicated, 2017-01-11 10:14:30

Эхо $это->бд->выбрать ('заголовок, содержимое, дата')->get_compiled_select();

 0
Author: Arnold Machado, 2017-02-02 05:25:15
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();
    }
 0
Author: Saravanan, 2017-12-14 05:34:07
$query= $this->m_general->get('users' , array('id'=> $id ));
echo $query[''];

В порядке;)

 -1
Author: Steve Sharax, 2015-09-12 20:00:51