У меня этот код в модели в codeigniter:
<?php Class Mymodel Extends CI_Model { function __construct() { parent::__construct(); } function search($textinput) { $street = "select street from dataSearch;"; $stripNameWOSpace = "select stripNameWOSpace FROM dataSearch;"; $vowels = array('a','e','i','o','u',';','/','-', ' '); $string = strtolower($textinput); $strippedVowels = mysql_real_escape_string(str_replace($vowels, '', $string)); $this->db->query("select dataSearch.id, dataSearch.name, dataSearch.street, dataSearch.city, dataSearch.lat, dataSearch.lng, category.asiatype from dataSearch join category on dataSearch.cat = category.id where dataSearch.street like '%".$textinput."%'"); $this->db->query("select dataSearch.id, dataSearch.name, dataSearch.street, dataSearch.city, dataSearch.lat, dataSearch.lng, category.asiatype from dataSearch join category on dataSearch.cat = category.id where dataSearch.stripNameWOSpace like '%".$strippedVowels."%'"); $query = $this->db->get(); $query->result(); } } ?>
Я просто хочу выполнить несколько запросов. Вы заметили, что в заявлении два имеют разные условия. Я просто хочу получить результат для двух запросов. Я пытаюсь выполнить оператор switch для выполнения обоих запросов, и он не работает. Помоги мне.
Вы можете задать запрос переменной для выполнения своих задач с каждым запросом.
Как это:
Class Mymodel Extends CI_Model { function __construct() { parent::__construct(); } function search($textinput) { $query1 = $this->db->query("YOUR QUERY"); $query2 = $this->db->query("YOUR SECOND QUERY"); $result1 = $query1->result(); $result2 = $query2->result(); return array_merge($result1, $result2); // If you want to merge both results } }
В вашем контроллере:
$this->load->model('Mymodel'); $searchresult = $this->Mymodel->search($textinput);
Для получения дополнительной информации вы должны прочитать Руководство пользователя CodeIgniter – Модель
Я знаю … старый, искал что-то еще, когда увидел что-то, что можно было бы сделать лучше. два оператора select идентичны, за исключением оператора where. вы можете использовать «ИЛИ» для объединения двух операторов WHERE. используйте «DISTINCT», чтобы избежать дублирования записей. «UNION» следует использовать, если вы действительно хотите дублировать записи.