[英]How we get record for particular user using codeigniter
我想从我的订单号相等的数据库中获取所有记录,但是当尝试使用where条件时,它的显示空值请告诉我该怎么办。
型号代码:
public function get_products()
{
$this->load->database();
$this->db->select('product');
$this->db->select('sku');
$this->db->select('price');
$this->db->select('qty');
$this->db->select('tax');
$this->db->select('total');
$this->db->from('data');
$this->db->where('order',$this->input->post('order'));
$query = $this->db->get();
if($result = $query->result_array())
{
return $result;
}
else
{
return false;
}
}
试试这个代码
模型:
function single_user_data($user_id)
{
$this->db->select('');
$this->db->from('user');
$this->db->where('user_id',$user_id);
$query=$this->db->get()->result();
return $query;
}
控制器
public function user_data_get()
{
$user_id=$this->input->post('id');
$data['user_data']=$this->User_Model->single_user_data($user_id);
$this->load->view('edit_user.php',$data);
}
我确实不喜欢CodeIgniter的魔术功能来帮助数据库脚本编写,因为我无法真正控制正在发生的事情。 但是,如果这可能有所帮助,我正在为您编写一个原始的MySQL查询。 这可能会证明快一些(出于原因,我将在后面解释)
class Test extends CI_Controller
{
//.... some functions come here
public function user_data_get()
{
$this->load->model('Get_user_model');
$user_data = $this->Get_user_model->get_product($this->input->post('order'));
}
}
class Get_user_model extends CI_Model
{
//..some code comes here
public function get_product($order)
{
$order = $this->db->escape($order); // Prevention against SQL injection
$query = $this->db->query("
SELECT `product`, `sku`, `price`, `qty`, `tax`, `total` FROM `data`
WHERE `order` = " . $order . " LIMIT 1");
}
}
然后可以从$query
变量中获得模型中的结果(它将以对象形式)。 要以数组形式获取结果,可以运行$data = $query->row_array()
将结果作为数组推送到变量$data
中。
如果结果可能返回多于1行,那么您应该取出LIMIT 1
表达式并使用foreach
循环来获取结果。
希望它能回答您的问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.