Значение Select в обработчике php

265
03 марта 2017, 02:15

В зависимости от того, какой пункт выбран, после нажатия кнопки должен выполняться свой SQL запрос. Проблема в том, что не знаю, как связать значение селекта с php обработкой. Такой же вопрос и к чекбоксу. Код:

if(isset($_POST['show-select']))
{
    $strSQL="SELECT * FROM worktime WHERE year(date)= year(now()) AND week(date, 1) = week(now(), 1) AND pcid='".$_SESSION['currpcid']."' AND date BETWEEN '$start_date' AND '$end_date' ORDER BY date DESC"; //Выбор записей за неделю
}
<form action="" method="post" name="dropdownlist" id="select-interval">
    <select class="select rounded shadow" id="workname" size="1">
        <option disabled selected>Выберите интервал</option>
        <option value="week">Неделя</option>
        <option value="month">Месяц</option>
        <option value="month3">Квартал</option>
        <option data-type="range">Выберите даты...</option>
    </select>
<input class="submit color_button rounded" type="submit" value="Выбрать" name="show-select" id="submit" /><Br>
<input type="checkbox" name="otchet" value="a1">Создать отчет
</form>
Answer 1

В первую очередь вам надо поставить атрибут name к данному select

if(isset($_POST['show-select']))
{
echo $_POST['interval']; // здесь ваше значение от select
echo $_POST['otchet']; // здесь ваше значение от checkbox (или a1 или пустота)

    $strSQL="SELECT * FROM worktime WHERE year(date)= year(now()) AND week(date, 1) = week(now(), 1) AND pcid='".$_SESSION['currpcid']."' AND date BETWEEN '$start_date' AND '$end_date' ORDER BY date DESC"; //Выбор записей за неделю
}

    <form action="" method="post" name="dropdownlist" id="select-interval">
    <select name="interval" class="select rounded shadow" id="workname" size="1">
            <option disabled selected>Выберите интервал</option>
            <option value="week">Неделя</option>
            <option value="month">Месяц</option>
            <option value="month3">Квартал</option>
            <option data-type="range">Выберите даты...</option>
        </select>
    <input class="submit color_button rounded" type="submit" value="Выбрать" name="show-select" id="submit" /><Br>
    <input type="checkbox" name="otchet" value="a1">Создать отчет
    </form>
Answer 2

У select должно быть имя:

<select name='show-select' ...>

У чекбокса

<input type="checkbox" name="otchet" value="a1">

Если он будет нажат, то $_POST['otchet'] будет равен a1,
если не будет нажат, то $_POST['otchet'] будет пуст

READ ALSO
Создание картинки средствами PHP

Создание картинки средствами PHP

Нужно сделать изображение по аналогии с этой

260
метод audio.add, api vk.com

метод audio.add, api vk.com

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

310
Регулярное выражение php для редложений

Регулярное выражение php для редложений

Что нужно добавить к регулярке "/^[а-яёa-z0-9]+$i/" что бы она также пропускала пробелы и следующие спецсимволы: '"!?,-+/ ?

185
Причина зависания сокета на send()?

Причина зависания сокета на send()?

Приложение работает с тремя сокетами, отправляющими данные на один php-скрипт HTTP-сервера:

277