Общие => Базы данных => Тема начата: от 28 Мая 2002, 06:37:53
Название: Как сделать выборку из БД при помощи списка(ComboBox) ... ?
Отправлено: от 28 Мая 2002, 06:37:53
Как с помощью компонента выбора из списка (ComboBox) сделать выборку – фильтрацию из БД по определенному полю списка.
Т.е. что в этом коде не так, второй день мучаюсь, если вместо поставить - все работает, но нужна именно выборка из списка :
$db = mysql_connect("localhost", "login", "pass"); mysql_select_db("BD", $db); if(isset($submit)): $sql = "select * from katalog where name = \'$name\'"; else: $sql = "select * from katalog"; endif; $result = mysql_query($sql); while ($row = mysql_fetch_array($result)) { $name=$row["name"]; echo "$name "; } ?>
Название: Как сделать выборку из БД при помощи списка(ComboBox) ... ?
Отправлено: AlieN от 28 Мая 2002, 10:23:11
if(isset($submit)): $sql = "select * from katalog where name = \\"$name\\"";
Название: Как сделать выборку из БД при помощи списка(ComboBox) ... ?
Отправлено: bhor от 28 Мая 2002, 10:42:50
Если это у тебя все находится в одном файле нужно сделать разные названия переменных
Название: Как сделать выборку из БД при помощи списка(ComboBox) ... ?
Отправлено: от 28 Мая 2002, 16:42:44
Все два способа НЕ РАБОТАЮТ! Вот упрощенный листинг моей начальной проги.
Дамп:
# phpMyAdmin MySQL-Dump # version 2.2.2 # http://phpwizard.net/phpMyAdmin/ # http://phpmyadmin.sourceforge.net/ (download page) # # Хост: localhost # Время создания: Май 28 2002 г., 16:37 # Версия сервера: 3.23.33 # Версия PHP: 4.0.6 # БД : `BD` # --------------------------------------------------------
# # Структура таблицы `katalog` #
CREATE TABLE katalog ( id int(11) NOT NULL auto_increment, name text NOT NULL, PRIMARY KEY (id) ) TYPE=MyISAM;
$db = mysql_connect("localhost", "login", "pass"); mysql_select_db("wbd", $db); if(isset($submit)): $sql = "select * from katalog where name = \\"$name\\""; else: $sql = "select * from katalog"; endif; $result = mysql_query($sql); while ($row = mysql_fetch_array($result)) { $name=$row["name"]; echo "$name "; } ?>
Название: Как сделать выборку из БД при помощи списка(ComboBox) ... ?
Отправлено: bhor от 28 Мая 2002, 18:04:47
$db = mysql_connect("localhost", "login", "pass"); mysql_select_db("bd", $db); if(isset($submit)): $sql = "select * from `katalog` where `name` = \'$name_submit\'"; else: $sql = "select * from `katalog`"; endif; $result = mysql_query($sql); while ($row = mysql_fetch_array($result)) { $name=$row["name"]; echo "$name "; } ?>
Вот это у меня работает. проверял
Название: Как сделать выборку из БД при помощи списка(ComboBox) ... ?
Отправлено: от 29 Мая 2002, 07:45:39
Спасибо все работает!
Вот еще вопрос:
Я добавил второе поле выборки и кнопку , но как сделать фильтрацию фильтром №1 и фильтром №2 при совместной работе. Сначало фильтром №1 потом из полученного результата фильтром №2, т.е. отсеивание.
Название: Как сделать выборку из БД при помощи списка(ComboBox) ... ?
Отправлено: bhor от 29 Мая 2002, 09:54:51
Цитировать
Сначало фильтром №1
Это уже у тебя есть.
Цитировать
потом из полученного результата фильтром №2
Название: Как сделать выборку из БД при помощи списка(ComboBox) ... ?
Отправлено: от 29 Мая 2002, 10:43:42
Пытался я и так, не пойму в чем дело - не выходит. Может что нибудь посоветуешь ...
$db = mysql_connect("localhost", "login", "pass"); mysql_select_db("BD", $db); if(isset($submit1)): $sql = "select * from `katalog` where `name` = \'$name_submit\'"; elseif(isset($submit2)): $sql = "select * from `katalog` where (`name`=\'$name_submit\' AND `name`=\'$make_submit\')"; else: $sql = "select * from \'katalog\' where id<\'30\'"; endif; $result = mysql_query($sql); while ($row = mysql_fetch_array($result)) {