J'ai une simple requête d'enregistrement CodeIgniter Active pour sélectionner un ID:
$q = $this -> db
-> select('id')
-> where('email', $email)
-> limit(1)
-> get('users');
Comment puis-je affecter l'ID ci-dessus à une variable (par exemple, $ id) .__
echo "ID is" . $id;
Merci.
C'est assez simple. Par exemple, voici un de mes codes aléatoires:
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;
}
}
Cela retournera la "ligne" que vous avez sélectionnée en tant que tableau afin que vous puissiez y accéder comme ceci:
$array = news_get_by_id ( 1 );
echo $array['date_human'];
Je conseillerais également fortement, de ne pas enchaîner la requête comme vous le faites. Toujours les avoir séparément, comme dans mon code, ce qui est clairement beaucoup plus facile à lire.
Notez également que si vous spécifiez le nom de la table dans from (), vous appelez la fonction get () sans paramètre .
Si vous n'avez pas compris, n'hésitez pas à demander :)
utilisez Lignes de résultats .
row () method renvoie une seule ligne de résultat.
$id = $this
-> db
-> select('id')
-> where('email', $email)
-> limit(1)
-> get('users')
-> row();
alors, vous pouvez simplement utiliser comme vous voulez. :)
echo "ID is" . $id;
un chemin court serait
$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
echo $ this-> db-> select ('titre, contenu, date') -> get_compiled_select ();
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();
}
C'est ton code
$q = $this -> db
-> select('id')
-> where('email', $email)
-> limit(1)
-> get('users');
Essaye ça
$id = $q->result()[0]->id;
ou celui-ci, c'est plus simple
$id = $q->row()->id;
Lorsque vous utilisez codeIgniter Framework, reportez-vous à ce lien d’enregistrements actifs. comment les données interagissent avec la structure et plus encore.
Les fonctions suivantes vous permettent de générer des instructions SQL SELECT.
Sélection de données
$ this-> db-> get ();
Exécute la requête de sélection et renvoie le résultat. Peut être utilisé seul pour récupérer tous les enregistrements d'une table:
$query = $this->db->get('mytable');
Avec accès à chaque rangée
$query = $this->db->get('mytable');
foreach ($query->result() as $row)
{
echo $row->title;
}
Où des indices
$this->db->get_where();
PAR EXEMPLE:
$query = $this->db->get_where('mytable', array('id' => $id), $limit, $offset);
Sélectionnez un champ
$this->db->select('title, content, date');
$query = $this->db->get('mytable');
// Produces: SELECT title, content, date FROM mytable
PAR EXEMPLE
$this->db->select('(SELECT SUM(payments.amount) FROM payments WHERE payments.invoice_id=4') AS amount_paid', FALSE);
$query = $this->db->get('mytable');