Здрасти, есть некая таблица kino_all из которой нужно сделать выборку(сортировку) строк по жанру и год как написано в форме. То есть заполняю я форму с выпадающим списком нажимаю "показать" и он выводит мне все строки из таблицы, которые совпадают с выбраными мною даными. К примеру Жанр - боевик, Год-2010 и он выводит мне все строки из таблицы где есть такие совпадения. Проблема заключается в том, что я незнаю как правильно оформить вот этот файл view.php, который служит обработчиком в форме. Нужно что бы он обрабавал форму, перезагружал страницу и выводил новые строки. Постарался объяснить более подробно, помогите пожалуйста. HTML: <FORM action="view.php" method=post> <b> Выбрать жанр</b> <select name = "genre"> <option value = "">выбрать</option> <option value = "1">боевик</option> <option value = "2">комедия</option> <option value = "3">триллер</option> <option value = "4">фантастика</option> <option value = "5">мелодрамма</option> </select> <b> Выбрать год</b> <select name = "year"> <option value = "">выбрать</option> <option value = "1">2010</option> <option value = "2">2011</option> <option value = "3">2010</option> <option value = "4">2012</option> <option value = "5">2011</option> </select> <INPUT type=submit name="показать" value=" показть "> </FORM> Вот таблица которая выводит строки в цикле. PHP: <?php $result = mysql_query ("SELECT * FROM kino_all ORDER BY id DESC", $db); $myrow = mysql_fetch_array ($result); do { printf ("<tbody> <tr style='height:26px;'> <td style='padding:4px;' ><a href='viewt_kino.php?id=%s'><strong>%s</strong></a></td> <td style='padding:4px;'>%s</td> <td style='padding:4px;'>%s</td> <td style='padding:4px;'>%s</td> <td style='padding:4px;'>%s</td> <td style='padding:4px;'>%s</td> </tr> </tbody> ", $myrow["id"], $myrow["title"], $myrow["genre"], $myrow["year"], $myrow["perevod"], $myrow["date_release"], $myrow["date_insert"]); } while ($myrow = mysql_fetch_array ($result)) ; ?> [sql] # phpMyAdmin SQL Dump # version 2.5.6 # http://www.phpmyadmin.net # # Хост: localhost # Время создания: Авг 17 2010 г., 12:30 # Версия сервера: 3.23.53 # Версия PHP: 4.3.6 # # БД : `enjoybox` # # -------------------------------------------------------- # # Структура таблицы `kino_all` # CREATE TABLE `kino_all` ( `id` int(10) NOT NULL AUTO_INCREMENT, `meta_d` varchar(255) NOT NULL DEFAULT '', `meta_k` varchar(255) NOT NULL DEFAULT '', `title` text NOT NULL, `genre` varchar(255) NOT NULL DEFAULT '', `year` varchar(255) NOT NULL DEFAULT '', `perevod` varchar(255) NOT NULL DEFAULT '', `date_release` varchar(255) NOT NULL DEFAULT '', `date_insert` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=13 ; # # Дамп данных таблицы `kino_all` # INSERT INTO `kino_all` VALUES (1, '', '', '2012', 'боевик', '2010', 'Русский', '20.04.2006', '14.08.2010'); INSERT INTO `kino_all` VALUES (2, '', '', 'Солт', 'комедия', '2011', 'Английский', '10.12.2004', '14.08.2011'); INSERT INTO `kino_all` VALUES (3, '', '', 'Начало', 'фантастика', '2010', 'русский', '10.10.2010', '12.10.2013'); INSERT INTO `kino_all` VALUES (4, '', '', 'Первый фильм', 'фантастика', '2012', 'английсий', '12.10.2013', '12.10.2013'); INSERT INTO `kino_all` VALUES (5, '', '', 'Второй фильм', 'боевик', '2010', 'русский', '4.11.2013', '5.10.2013'); INSERT INTO `kino_all` VALUES (6, '', '', 'Третий фильм', 'триллер', '2010', 'русский', '9.10.2011', '12.10.2013'); INSERT INTO `kino_all` VALUES (7, '', '', 'Четвёртый фильм', 'меложрамма', '2010', 'анлийский', '12.10.2010', '12.10.2013'); INSERT INTO `kino_all` VALUES (8, '', '', 'Пятый фильм', 'комедия', '2011', 'русский', '12.4.2015', '12.10.2013'); INSERT INTO `kino_all` VALUES (9, '', '', 'Шестой фильм', 'боевик', '2013', 'анлийский', '3.10.2011', '12.10.2013'); INSERT INTO `kino_all` VALUES (10, '', '', 'Седьмой фильм', 'триллер', '2010', 'русский', '12.10.2013', '12.10.2013'); INSERT INTO `kino_all` VALUES (11, '', '', 'Восьмой фильм', 'фантастика', '2012', 'анлийский', '12.4.2014', '12.10.2013'); INSERT INTO `kino_all` VALUES (12, '', '', 'Девятый фильм', 'комедия', '2010', 'анлийский', '6.11.2012', '12.10.2013'); [/sql]
Сначала такое замечание Чтобы избежать преобразований года, в форме нужно изменить поле ввода года <b> Выбрать год</b> <select name = "year"> <option value = "">выбрать</option> <option value = "2010">2010</option> <option value = "2011">2011</option> <option value = "2012">2012</option> </select> можно сделать так: 1) проверить - нажата ли кнопка -если нажата, то установить параметры выборки записей -если нет- то параметров нет 2)получить записи и вывести их 3) вывести форму PHP: <?php // пункт 1 if(isset($_POST['показать'])) { $out=array(); if($_POST['genre']!='') { $out[]=" (genre='{$_POST['genre']}' )"; } if($_POST['year']!='') { $out[]=" (year='{$_POST['year']}') "; } if(sizeof($out)>0) { $where=implode(' and ',$out); $query="SELECT * FROM kino_all where $where ORDER BY id DESC"; } else { $query="SELECT * FROM kino_all ORDER BY id DESC"; } } else { $query="SELECT * FROM kino_all ORDER BY id DESC"; } // подсоединяетесь к своей базе данных ..... //пункт 2 $result = mysql_query ("SELECT * FROM kino_all ORDER BY id DESC", $db); $myrow = mysql_fetch_array ($result); //выводите записи .... // пункт 3-выводите форму ....