отображает много данных, используя как codeigniter - PullRequest
0 голосов
/ 11 января 2019

Я использую этот код для отображения данных в соответствии с пользователем, который вошел в систему, и отображения их данных. но с этим синтаксисом отображаемые данные не соответствуют определенным данным, а также иногда появляются и другие пользовательские данные.

$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 голосов
/ 12 января 2019

Ваш синтаксис неправильный - вы не можете сделать это по-своему - вы должны правильно организовать свой запрос - попробуйте следующее

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

$arrExtension = ['.docx', '.pdf', '.xls', '.xlsx', '.ppt', '.pptx', '.zip', '.rar'];

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

foreach($arrExtension AS $strExtension)
{
    $this->db->or_like('type_doc', $strExtension);
}
$query = $this->db->group_end()->get();
return $query->result_array();
0 голосов
/ 11 января 2019

Используйте 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...