Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Фильтр данных БД с помощью Select (скрипт формирования SQL запроса на выборку)
Форумы портала PHP.SU » » Работа с СУБД » Фильтр данных БД с помощью Select (скрипт формирования SQL запроса на выборку)

Страниц (1): [1]
 

1. dus2003 - 16 Января, 2021 - 01:40:45 - перейти к сообщению
Добрый день. Прошу помощи.
Задача следующая.
Есть БД, в ней таблица.
Вывожу данные в табличной (<tabke>) форме на экран.
В одном из столбцов (под наименованием "Дата") выводятся даты из таблицы БД.
Я хочу чтобы данный столбец вместо наименования "Дата" имел выпадающий список с годами.
И я это сделал - Код:
-------------------------------- -------------------------------- -----------
<td>
<select name='year' size='1' class='leng50' onchange='...'>";
echo "<option value='Дата'>Дата</option>";
for($i = 2016; $i <= date('Y'); $i++):
echo "<option value=" . $i . ">" . $i . "</option>";
endfor;
echo "</select>";
echo "</td>
-------------------------------- -------------------------------- -----------
Как Вы заметили в Select есть событиt onchange.
Цель - при выборе года из выпадающего списка сделать так, чтобы в таблице отображались данные БД у которых год в дате соответствует выбранному в списке <Select> году.
Другими словами - фильтр по году.
Если я правильно понимаю то теперь мне в onchange надо вставить скрипт формирования SQL-запроса на выборку данных из БД соответствующих году в списке <Select> и вывод этих записей на экран..

Помогите написать этот java-скрипт.
Заранее спасибо.
P.s.: В таблице базы данных дата хранится в полном виде, т.е. дд.мм.гггг. (для информации, мало-ли это важно)
2. Vladimir Kheifets - 16 Января, 2021 - 14:25:37 - перейти к сообщению
dus2003 пишет:
Добрый день. Прошу помощи.
Задача следующая.
Есть БД, в ней таблица.
Вывожу данные в табличной (<tabke>) форме на экран.
В одном из столбцов (под наименованием "Дата") выводятся даты из таблицы БД.
Я хочу чтобы данный столбец вместо наименования "Дата" имел выпадающий список с годами.
И я это сделал - Код:
-------------------------------- -------------------------------- -----------
<td>
<select name='year' size='1' class='leng50' onchange='...'>";
echo "<option value='Дата'>Дата</option>";
for($i = 2016; $i <= date('Y'); $i++):
echo "<option value=" . $i . ">" . $i . "</option>";
endfor;
echo "</select>";
echo "</td>
-------------------------------- -------------------------------- -----------
Как Вы заметили в Select есть событиt onchange.
Цель - при выборе года из выпадающего списка сделать так, чтобы в таблице отображались данные БД у которых год в дате соответствует выбранному в списке <Select> году.
Другими словами - фильтр по году.
Если я правильно понимаю то теперь мне в onchange надо вставить скрипт формирования SQL-запроса на выборку данных из БД соответствующих году в списке <Select> и вывод этих записей на экран..

Помогите написать этот java-скрипт.
Заранее спасибо.
P.s.: В таблице базы данных дата хранится в полном виде, т.е. дд.мм.гггг. (для информации, мало-ли это важно)

Добрый день!
Если Вам требуйтся полность перезагрузить страницу, на который есть форма, например,
<form name="A"...> и в ней Ваш <select>, то в нём нужно написать onchange="A.submit()"
В PHP нужно написать
PHP:
скопировать код в буфер обмена
  1. if(isset($_POST["year"]))
  2. {
  3.      //здесь SQL-запроса на выборку данных из БД (фильтр по году)
  4. }
Удачи!

 

Powered by ExBB FM 1.0 RC1