Как динамически добавить более одного предложения WHERE в php [закрыто] ⇐ Php
-
Гость
Как динамически добавить более одного предложения WHERE в php [закрыто]
У меня есть пять полей ввода: навыки, местоположение, компания, опыт и зарплата. В зависимости от требований пользователя я получу значение из базы данных. Мой вопрос: как динамически использовать условие? Предположим, что пользователь вводит значения в поля ввода навыков и компании. Я хочу получить эти значения из базы данных, как это сделать? Теперь я сохранил 20 условий для решения этой проблемы
публичная функция get_jobonline($skillname,$userid,$location) { $company=$this->input->post('searchcompany'); $experience=$this->input->post('опыт'); $salary=$this->input->post('зарплата'); эхо $компания; если ($location==NULL) { $query=$this->db->query("ВЫБЕРИТЕ j.id AS job_id, j.created_date,j.title, l.city AS location, cm.name AS Company_name, cm.logo FROM `jobs` AS j LEFT JOIN `keyword` AS k ON `k`.`job_id` = `j`.`id` LEFT JOIN `keyword_master` AS km ON `km`.`id` = `k`.`keyword_id` LEFT JOIN `location_master` AS l ON `l`.`id` = `j`.`location` ЛЕВОЕ ПРИСОЕДИНЕНИЕ `company_master` AS cm ON `cm`.`id` = `j`.`company_id` ГДЕ km.name = '$skillname' И j.uid='$userid' ;"); } еще { $query=$this->db->query("ВЫБЕРИТЕ j.id AS job_id, j.created_date,j.title, l.city AS location, cm.name AS Company_name, cm.logo FROM `jobs` AS j LEFT JOIN `keyword` AS k ON `k`.`job_id` = `j`.`id` LEFT JOIN `keyword_master` AS km ON `km`.`id` = `k`.`keyword_id` LEFT JOIN `location_master` AS l ON `l`.`id` = `j`.`location` ЛЕВОЕ ПРИСОЕДИНЕНИЕ `company_master` AS cm ON `cm`.`id` = `j`.`company_id` ГДЕ km.name = '$skillname' AND j.uid='$userid' AND l.city='$location' ;"); } // if($company != NULL && ) вернуть $query->result_array(); }
У меня есть пять полей ввода: навыки, местоположение, компания, опыт и зарплата. В зависимости от требований пользователя я получу значение из базы данных. Мой вопрос: как динамически использовать условие? Предположим, что пользователь вводит значения в поля ввода навыков и компании. Я хочу получить эти значения из базы данных, как это сделать? Теперь я сохранил 20 условий для решения этой проблемы
публичная функция get_jobonline($skillname,$userid,$location) { $company=$this->input->post('searchcompany'); $experience=$this->input->post('опыт'); $salary=$this->input->post('зарплата'); эхо $компания; если ($location==NULL) { $query=$this->db->query("ВЫБЕРИТЕ j.id AS job_id, j.created_date,j.title, l.city AS location, cm.name AS Company_name, cm.logo FROM `jobs` AS j LEFT JOIN `keyword` AS k ON `k`.`job_id` = `j`.`id` LEFT JOIN `keyword_master` AS km ON `km`.`id` = `k`.`keyword_id` LEFT JOIN `location_master` AS l ON `l`.`id` = `j`.`location` ЛЕВОЕ ПРИСОЕДИНЕНИЕ `company_master` AS cm ON `cm`.`id` = `j`.`company_id` ГДЕ km.name = '$skillname' И j.uid='$userid' ;"); } еще { $query=$this->db->query("ВЫБЕРИТЕ j.id AS job_id, j.created_date,j.title, l.city AS location, cm.name AS Company_name, cm.logo FROM `jobs` AS j LEFT JOIN `keyword` AS k ON `k`.`job_id` = `j`.`id` LEFT JOIN `keyword_master` AS km ON `km`.`id` = `k`.`keyword_id` LEFT JOIN `location_master` AS l ON `l`.`id` = `j`.`location` ЛЕВОЕ ПРИСОЕДИНЕНИЕ `company_master` AS cm ON `cm`.`id` = `j`.`company_id` ГДЕ km.name = '$skillname' AND j.uid='$userid' AND l.city='$location' ;"); } // if($company != NULL && ) вернуть $query->result_array(); }
Мобильная версия