Фильтрация данных по выбору select

131
11 декабря 2018, 10:00
$sql = mysql_query("SELECT  FROM `products`  WHERE `status` = `тут статус из списка` `user` = `тут имя из списка`, CURDATE() <= data ORDER BY `ID` DESC", $link);

Привет всем, объясните мне дураку как реализовать фильтрацию данных самим пользователем.

Есть список мастеров в user:

<label>Мастер</label>
<select name="user" class="form-control select2" style="width: 100%;">
<option>Не назначено</option>
<?php
$sql = mysql_query("SELECT `name` FROM `users` WHERE `job`='Мастер' ", $link);  
while ($result = mysql_fetch_array($sql)) { echo  '<option>'.$result['name'].'</option>'; }
?>
</select>

И статус заявки

 <label>Статус</label>
                <select name="status" class="form-control select2" style="width: 100%;">
<option><?php echo ($result['status']); ?></option>
<option>Принят</option>
<option>В работе</option>
<option>На согласовании</option>
<option>Ожидает запчастей</option>
<option>Выполнен</option>
<option>Закрыта</option>
                </select>

Например я как пользоватетель выбираю мастера Вася Пупкин и статус Закрыто, кликаю посмотреть. Что нужно сделать что бы в данные попали WHERE status = Закрыто user = Вася Пупкин . Спасибо.

Answer 1

Например я как пользоватетель выбираю мастера Вася Пупкин и статус Закрыто, кликаю посмотреть. Что нужно сделать что бы в данные попали WHERE status = Закрыто user = Вася Пупкин

Когда вы кликаете "посмотреть" параметры из формы (статус и имя) отправляются на сервер.

В php вы извлекаете эти параметры в отдельные переменные (например $status и $name)

Проверяете их на корректность (см. sql-инъекции). Для начала этот пункт можно пропустить.

А далее вставляете в запрос методом обработки переменных внутри строки: "… WHERE status = $status and user = $user"

Подробности см. по ссылке http://php.net/manual/ru/language.types.string.php#language.types.string.parsing

Answer 2

вот тут отлично и наглядно показано как работать с формой http://php.net/manual/ru/language.variables.external.php

//получение данных от формы
$user = intval($_REQUEST['user']);
$status = intval($_REQUEST['status']);
$sql = mysql_query("SELECT  FROM `products`  WHERE **`status` = $status `user` = $user**, CURDATE() <= data ORDER BY `ID` DESC", $link);

список мастеров:

<label>Мастер</label>
<select name="user" class="form-control select2" style="width: 100%;">
<option>Не назначено</option>
<?php
$sql = mysql_query("SELECT `name` FROM `users` WHERE `job`='Мастер' ", $link);  
while ($result = mysql_fetch_array($sql)) { echo  '<option **value="'.$result['id'].'"**>'.$result['name'].'</option>'; }
?>
</select>

в форме select обезательно должнл быть value в option например:

<option value="значение которое будет отправлено на сервер">Не назначено</option>
READ ALSO
0100 в 100 числовые значения

0100 в 100 числовые значения

Подскажите пожалуйста, в функцию попадает число, с ним внутри происходят математические операции, есть ли способ из числа 0100 получить 100 не прибегая...

154
Повторяющиеся значения soap wsdl

Повторяющиеся значения soap wsdl

я создаю веб-сервис для отправки данных - soap вместе с wsdl

194