Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > формирование запросов через форму


Автор: Zasonya 18.6.2009, 11:06
Возможно ли формирование запросов через форму???на форме задаем критерии отбора с помощью полей списка, и ответ на запрос выводит все записи из таблицы, соответствующие критериям, заданным на форме!

Автор: NetJunky 18.6.2009, 11:28
конечно возможно.
каждое из полей имеет своё смысловое имя.
далее в зависимости от РНР сценария составляется тот или иной запрос при условии, что есть связь с БД

если таковая имеется, то вы видите результат.

Автор: InvalidProperty 18.6.2009, 11:46
все запросы перед этим желательно экранировать, дабы избежать sql injection

Автор: Zasonya 18.6.2009, 12:58
Есть заполненная таблица студентов "student" из нее с помощью формы нужно сделать запрос. На форме запроса
есть два поля со списком "groop"и"form_obych",с помощью кот пользователь задает критерии отбора, и именно с такими значениями должна вывестись информация.
(при заполнении таблицы эти поля заполняются тем же полем списком).

Автор: InvalidProperty 18.6.2009, 13:12
ну и?.. где вопрос?

Автор: Zasonya 18.6.2009, 13:36
я не представляю как прописать этот запрос

Добавлено через 1 минуту и 29 секунд
очень нужна помощь!!!это диплом!!!защита через пару дней!!!!!

Добавлено через 6 минут и 13 секунд
как экранировать???

Автор: lelik133 18.6.2009, 13:54
вам или в центр помощи, или предлагать $ если не хотите делать сами

Автор: Zasonya 18.6.2009, 13:58
Надо самому понять принцип!!!

Автор: NetJunky 18.6.2009, 14:03
lelik133, согласен. тут сложного ничего нету. но это явно надо не тут обсуждать.
Либо сюды - http://forum.vingrad.ru/forum/Vingrad-help-center.html
Либо ххх$, как минимум.

Автор: Zasonya 18.6.2009, 14:08
спасибо

Автор: lelik133 18.6.2009, 14:09
что бы понять, надо что-то делать самому

Автор: Zasonya 18.6.2009, 14:16
обычный запрос без проблем...в форму не могу...с переменными проблемс

Автор: bars80080 18.6.2009, 14:58
не понятно как из 
Код

<input name="nomer" />


подставить в запрос:
Код

$sql = 'select from studenty where groop='.$_POST['nomer'];
$r = mysql_query($sql);


?

Автор: NetJunky 18.6.2009, 15:50
bars80080, ну вот, обламал всю шутку... smile  smile 

Автор: Zasonya 18.6.2009, 16:10
Вообще я думала можно организовать в РНР через цикл if-else.
$a=groop;
$b=gpoop1;
If  ($a!=$b)
{
Echo (вывести записи из базы в цикле)
}
Else
{
Echo «Таких записей не обнаружено»
}

бред???

Автор: lelik133 18.6.2009, 17:11
Цитата

цикл if-else

первый раз а таком слышу.
не путайте цикл. и управляющие структуры

Автор: bars80080 18.6.2009, 17:42
Цитата(Zasonya @  18.6.2009,  16:10 Найти цитируемый пост)
$a=groop;
$b=gpoop1;

и что означает сие $a и $b?

Автор: NetJunky 18.6.2009, 18:27
Zasonya, почему же. Такая возможность реализации тоже возможна. Первое, что стоит сделать, это задать себе конкретный вопрос: "Что мне надо?". А то просто я смотрю, то нужен был запрос из базы через форму, теперь уже обработка запроса. Это уже не один вопрос, а два. Продумайте, сформулируйте и задайте. smile 

Автор: Zasonya 18.6.2009, 18:51
$a=groop; поле заполняемое в форме таблицы
$b =groop1; поле заполняемое в форме запроса

И если значения этих переменных совпадают, выводить список ре-зультатов.
(т. Е. если в поле groop заполнено «1», а в поле запроса groop1 выбирают значение «1», то выведу все записи из таблицы с этим значением) .

А как же без обработки. Мне нужно:
Форма для запроса (это имеется)
В ней с помощью поля со списком я выберу критерий отбора
Обработаю этот запрос и выведу результат.

опять неконкретно выражаюсь?

Автор: bars80080 18.6.2009, 19:46
Цитата(Zasonya @  18.6.2009,  18:51 Найти цитируемый пост)
опять неконкретно выражаюсь? 

конечно непонятно. это же не шаманизм, надо просто корректно выразить мысль (чтоб тебя прежде всего люди поняли), а затем перевести фразу на язык программирования

например запрос:

выбрать все данные из таблицы студентов где поле groop равно 10

перевод:

SELECT * FROM `students` WHERE `groop`=10

и никаких полетам, поле сям. нам в запрос надо всего лишь подставить десятку из формы

Код

SELECT * FROM `students` WHERE `groop`=10

Код

$per = $_REQUEST['field1'];
$sql = 'SELECT * FROM `students` WHERE `groop`='.$per;


где field1 - поле в форме:

Код

<form method="post">
<input name="field1" />
<input type="submit" value="send" />
</form>

что здесь непонятно?

Автор: Zasonya 18.6.2009, 19:51
да я первый раз просто!в дальнейшем буду корректней!!!
всем спасибо!!!

Автор: NetJunky 18.6.2009, 20:41
bars80080, тебя я понял... smile  smile 

Zasonya, тему можно отметить как решённую?

Автор: Zasonya 19.6.2009, 04:13
да smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)