Как искать поля в базе данных с диапазоном дат на mysql codeigniter

Я попытался создать поисковую систему с фильтром диапазона дат, но всякий раз, когда я набираю в своем "search_textbox", он не включает дату, он только ищет те поля, где это много заявления "name", например, "% a%";

if ($search !=''):
        $added_query = "and date_created like '%".$search."%' or 
                                name like '%".$search."%' or
                                  alias like '%".$search."%' or
                                  designation like '%".$search."%' 
                                  ";
        else:
        $added_query  = "";
        endif;
        $project_details = $this->db->query("SELECT *
                                 FROM ".$query."_man_power
                                  WHERE date_created BETWEEN '".$date_from."' AND '".$date_to."'
                                  ".$added_query."
                                order by date_created desc
                                  ");
            return $project_details;

Какой ввод вы вводите в текстовое поле поиска для даты?

Piyush Bansal 27.09.2018 04:21

$ search = $ this-> input-> post ('search_textbox');

Geron Castillo Bernard 27.09.2018 04:24

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

Geron Castillo Bernard 27.09.2018 04:28

Как вы говорите, у вас есть два разных поля date_from и date_to, как вы получаете и настраиваете входные данные для обоих полей? Вы пытаетесь выполнить поиск в таблице, введя дату (например, 2018/09/01)?

Piyush Bansal 27.09.2018 04:31

нет, я пытаюсь выполнить поиск, введя такие поля, как имя, обозначение, псевдоним, сумма с диапазоном дат, который я установил

Geron Castillo Bernard 27.09.2018 04:35

Я установил мои date_from и date_to со страницы VIEW в мою функцию jquery для моего контроллера ... где мой контроллер отображает их вывод моей модели ... как указано в верхней части моего сообщения

Geron Castillo Bernard 27.09.2018 04:38

Я имею в виду, что у меня есть 3 переменные в моей модели, это поиск, date_from и date_to

Geron Castillo Bernard 27.09.2018 04:40

Почему вы добавили date_created like '%".$search."%' в свою переменную $ added_query?

Piyush Bansal 27.09.2018 04:40

Я также пытаюсь найти date_created, где вижу только то, что на эту дату?

Geron Castillo Bernard 27.09.2018 04:44

Извините, но я не понимаю вашего беспокойства. Не могли бы вы объяснить немного подробнее.

Piyush Bansal 27.09.2018 04:46

ive попытался создать поисковую систему, которая выполняет поиск по дате_создания, имени, обозначению, псевдониму и сумме. но я хочу добавить фильтр диапазона дат в свою поисковую систему. но когда я набираю совпадающие или похожие значения в своей поисковой системе, мой диапазон дат date_from и date_to не фильтрует даты

Geron Castillo Bernard 27.09.2018 04:52
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
11
476
2

Ответы 2

Вероятно, вы неправильно форматируете даты в предложении where. Видеть: https://www.w3schools.com/SQl/sql_dates.asp

Вы хотите, чтобы $date_from и $date_to выглядели следующим образом в зависимости от типа:

$date_from = '2018-06-01 0:00:00';
$date_to = '2018-06-30 23:59:59';

Вы можете лучше изучить свой запрос, чтобы найти проблему, просмотрев его.

$sql = "SELECT * FROM ".$query."_man_power";
$sql .= " WHERE date_created BETWEEN '".$date_from."' AND '".$date_to."'".$added_query;
$sql .= " order by date_created desc";

var_dump($sql);

$project_details = $this->db->query($sql);

это последний запрос моей модели

Geron Castillo Bernard 27.09.2018 05:22

ВЫБЕРИТЕ * ИЗ EMJGC_man_power ГДЕ date_created МЕЖДУ '2018-09-01' И '2018-10-01' и date_created как '% a%' или назовите как '% a%' или псевдоним, например '% a%', или обозначение как ' % a% 'заказ по date_created desc

Geron Castillo Bernard 27.09.2018 05:22

При объединении этих условий важно использовать круглые скобки, чтобы база данных знала, в каком порядке оценивать каждое условие. Поэтому сгруппируйте условия И, ИЛИ в круглые скобки, например:

if ($search !=''):
    $added_query = "and ( 
        date_created like '%".$search."%' or 
        name like '%".$search."%' or
        alias like '%".$search."%' or
        designation like '%".$search."%' 
        )";
else:
  $added_query  = "";
endif;
$project_details = $this->db->query("SELECT *
        FROM ".$query."_man_power
        WHERE date_created BETWEEN '".$date_from."' AND '"
       .$date_to."'".$added_query." order by date_created desc");
        return $project_details;` 

Другие вопросы по теме