使用诸如codeigniter来显示大量数据

时间:2019-01-11 16:24:55

标签: php mysql codeigniter

我使用此代码根据登录的用户显示数据,并显示其数据。 但是使用此语法,显示的数据与定义的数据不匹配,并且有时也会出现其他用户数据。

$id=$this->session->userdata('ses_id');

    $this->db->SELECT('*');
    $this->db->from('doc_priv_std');

    $this->db->join('acc',' doc_priv_std.id_acc=acc.id_acc');

    $this->db->where('doc_priv_std.id_acc ',$id,('and 
    type_doc LIKE "%.doc%" 
    or "%.docx%" 
    or "%.pdf" 
    or "%.xls%" 
    or "%.xlsx%" 
    or "%.ppt%" 
    or "%.pptx%" 
    or "%.zip%" 
    or "%.rar%"'));

    $query = $this->db->get();
    return $query->result_array();

请提供帮助,以使数据按定义显示。

2 个答案:

答案 0 :(得分:0)

在返回之前使用var_dump($this->db->last_query());来查看实际上正在运行的数据库查询以帮助调试,但是这可能是您语句错误的地方吗?请尝试以下方法:

$where = 'WHERE type_doc LIKE "%.doc%" 
or "%.docx%" 
or "%.pdf" 
or "%.xls%" 
or "%.xlsx%" 
or "%.ppt%" 
or "%.pptx%" 
or "%.zip%" 
or "%.rar%"';

$this->db->select('*')
    ->join('acc',' doc_priv_std.id_acc=acc.id_acc')
    ->where('doc_priv_std.id_acc', $id)
    ->where($where);
$query = $this->db->get();

return $query->num_rows() > 0 ? $query->result_array() : FALSE;

答案 1 :(得分:0)

您的语法错误-您无法以自己的方式进行操作-必须正确组织查询-尝试以下操作

Runnable