Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как привязать поле select к базе Mysql на PHP
 
 автор: oleg999   (05.10.2009 в 10:35)   письмо автору
 
 

Добрый день, всем!!!

Я хочу сделать поисковую форму с полем селек, т.е щелкаешь мышкой на стрелочку и выбераешь направление, далее нажимаешь кнопочку отправить и получаешь данные с базы данных Mysql. Вопрос в следующем, как привязать значение поля со списком к базе Mysql, к запросу...
Ниже привожу листинг:
<html>
<head>
<title>Поиск из базы</title>
</head>
<body>
<h3>Пожалуйста выберите направление:</h3>
<br>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<select size="1" name="list">
<option value="1">Душанбе - Москва(Домодедово)</option>
<option value="2">Москва(Домодедово) - Душанбе</option>
<option value="3">Душанбе - Санкт-Петербург(Пулково)</option>
<option value="4">Санкт-Петербург(Пулково) - Душанбе</option>
<option value="5">Душанбе - Красноярск(Емельяново)</option>
<option value="6">Красноярск(Емельяново) - Душанбе</option>
<option value="7">Душанбе - Франкфурт-на-Майне</option>
<option value="8">Франкфурт-на-Майне - Душанбе</option>
<option value="9">Душанбе - Дубай</option>
<option value="10">Дубай - Душанбе</option>
<option value="11">Душанбе - Худжанд</option>
<option value="12">Худжанд - Душанбе</option>
<option value="13">Худжанд - Красноярск(Емельяново)</option>
<option value="14">Красноярск(Емельяново) - Худжанд</option>
</select>
<input type="submit" name="submit" value="отправить">
</form>
<?php

$list = array(
"Душанбе - Москва(Домодедово)",
"Москва(Домодедово) - Душанбе",
"Душанбе - Санкт-Петербург(Пулково)",
"Санкт-Петербург(Пулково) - Душанбе",
"Душанбе - Красноярск(Емельяново)",
"Красноярск(Емельяново) - Душанбе",
"Душанбе - Франкфурт-на-Майне",
"Франкфурт-на-Майне - Душанбе",
"Душанбе - Дубай",
"Дубай - Душанбе",
"Душанбе - Худжанд",
"Худжанд - Душанбе",
"Худжанд - Красноярск(Емельяново)",
"Красноярск(Емельяново) - Худжанд);
$host="localhost";
$user="phobos";
$pw="K@l!na";
$db="timetable";
$connection=mysql_connect($host,$user,$pw) or die ("Ошибка соединения!");
mysql_select_db($db) or die("Не возможно подключиться к базе данных");
$query="SELECT n.number as 'Номер рейса' , a.name as 'Тип самолёта', dir.direction as 'Направление полёта', t. departure_time as 'Время вылета', t.arrival_time as 'Время прибытия', t.flight_time as 'Время в полёте', d.`day` as 'Дни недели'
FROM timetable t JOIN number n JOIN aircraft a JOIN direction dir JOIN `day` d
ON (t.numberID=n.numberID AND t.aircraftID=a.aircraftID AND t.directionID=dir.directionID AND t.dayID=d.dayID)";
$list=$query;
$result=mysql_qury($query) or die ("Ошибка выполнения запроса");
if (mysql_num_row($result)>0)
echo "<h2><u>Расписание авиарейсов</u></h2>";
echo "<br>";
echo "<table cellpadding=10 border=1>";
echo "<tr bgcolor='#FFCCCC'>
<td><b>Номер рейса</b></td>
<td><b>Тип самолёта</b></td>
<td><b>Направление полета</b></td>
<td><b>Время вылета</b></td>
<td><b>Время прибытия</b></td>
<td><b>Время в полёте</b></td>
<td><b>Дни недели</b></td>
</tr>";
while($row=mysql_fetch_row($result))
{
echo "<tr>";
echo "<td>".$row[0] ."</td>";
echo "<td>".$row[1] ."</td>";
echo "<td><img src='air.png'>".$row[2] ."</td>";
echo "<td>".$row[3] ."</td>";
echo "<td>".$row[4] ."</td>";
echo "<td>".$row[5] ."</td>";
echo "<td>".$row[6] ."</td>";
echo "</tr>";
}
echo "</table>";
}
else
{
echo "Таблица расписание авиарейов пуста.";
mysql_free_result($result);
mysql_close($connection);
?>
</body>
</html>

  Ответить  
 
 автор: Slo_Nik   (05.10.2009 в 10:46)   письмо автору
 
   для: oleg999   (05.10.2009 в 10:35)
 

немного глаза поломал пока просмотрел код....
не понятно откуда ты получаешь данные для выпадающего списка.
сделай что бы список с названиями рейсов получался из БД, у каждого рейса будет свой "id" и потом, когда пользователь выбирет своё направление, делай запрос к БД для вывода полной информации исходя из "id" конкретного рейса.

  Ответить  
 
 автор: oleg999   (05.10.2009 в 11:22)   письмо автору
 
   для: Slo_Nik   (05.10.2009 в 10:46)
 

данные из выпадающего списка я получаю из базы Mysql, Мне нужна конструкция которая связываеть запрос с базы данных с полем со списком, если не трудно на моем примере...

  Ответить  
 
 автор: Slo_Nik   (05.10.2009 в 11:33)   письмо автору
 
   для: oleg999   (05.10.2009 в 11:22)
 

Так я тебе так и написал, что через "id" для каждого направления.
в базе хранятся названия направлений и у каждого есть свой "id", вот и подставь это значение в список, потом когда пользователь выбирет направление, его "id" и передавай в запросе.

$query = "SELECT * FROM `all info` WHERE `id` = 'значение из списка' ";

  Ответить  
 
 автор: Balamut182   (05.10.2009 в 11:36)   письмо автору
 
   для: oleg999   (05.10.2009 в 11:22)
 

вариант 1
на селект вешаешь обработчик onchange и по нему переходишь на пхп-страницу через window.location.href куда добавляешь выбранное значение селекта в GET, т.е. onchange='funtion() {window.location.href="script.php?id="+this.vlaue;}'
в скрипте берешь из GET id и делаешь запрос и выводишь ту же страницу с нужными результами
вариант 2
так же вешаешь на селект onchange и при изменении делаешь аякс-запрос на выборку нужных данных. в пхп делаешь запрос по переданному id и возвращаешь массив данных строкой (JSON, сериализация или простой implode), в яве парсишь ответ и обновляешь данные на странице

  Ответить  
 
 автор: oleg999   (05.10.2009 в 12:08)   письмо автору
 
   для: Balamut182   (05.10.2009 в 11:36)
 

мне не нужно делать это через GET, надо через Post

  Ответить  
 
 автор: Slo_Nik   (05.10.2009 в 11:48)   письмо автору
 
   для: oleg999   (05.10.2009 в 11:22)
 

в самом начале скрипта, где ты выводишь список с названиями направлений нет ни какого запроса к БД.
окуда ты получаешь названия направлений?

  Ответить  
 
 автор: oleg999   (05.10.2009 в 12:07)   письмо автору
 
   для: Slo_Nik   (05.10.2009 в 11:48)
 

у меня такой запрос:
$query="SELECT n.number as 'Номер рейса' , a.name as 'Тип самолёта', dir.direction as 'Направление полёта', t. departure_time as 'Время вылета', t.arrival_time as 'Время прибытия', t.flight_time as 'Время в полёте', d.`day` as 'Дни недели'
FROM timetable t JOIN number n JOIN aircraft a JOIN direction dir JOIN `day` d
ON (t.numberID=n.numberID AND t.aircraftID=a.aircraftID AND t.directionID=dir.directionID AND t.dayID=d.dayID)";

  Ответить  
 
 автор: oleg999   (05.10.2009 в 12:12)   письмо автору
 
   для: oleg999   (05.10.2009 в 12:07)
 

а так нельзя:
$query = SELECT n.number as 'Номер рейса' , a.name as 'Тип самолёта', dir.direction as 'Направление полёта', t. departure_time as 'Время вылета', t.arrival_time as 'Время прибытия', t.flight_time as 'Время в полёте', d.`day` as 'Дни недели'
FROM timetable t JOIN number n JOIN aircraft a JOIN direction dir JOIN `day` d
ON (t.numberID=n.numberID AND t.aircraftID=a.aircraftID AND t.directionID=dir.directionID AND t.dayID=d.dayID) WHERE `id` = '$list' ";
где List поле со списком
???

  Ответить  
 
 автор: Slo_Nik   (05.10.2009 в 13:51)   письмо автору
 
   для: oleg999   (05.10.2009 в 12:07)
 

>у меня такой запрос:
>$query="SELECT n.number as 'Номер рейса' , a.name as 'Тип самолёта', dir.direction as >'Направление полёта', t. departure_time as 'Время вылета', t.arrival_time as 'Время прибытия', >t.flight_time as 'Время в полёте', d.`day` as 'Дни недели'
>FROM timetable t JOIN number n JOIN aircraft a JOIN direction dir JOIN `day` d
>ON (t.numberID=n.numberID AND t.aircraftID=a.aircraftID AND t.directionID=dir.directionID AND >t.dayID=d.dayID)";

этот запрос идёт ниже, а вот в самом начале, после тега "body" ни какого запроса нет, как в выпадающий список подставляются названия рейсов?

  Ответить  
 
 автор: oleg999   (05.10.2009 в 14:07)   письмо автору
 
   для: Slo_Nik   (05.10.2009 в 13:51)
 

вот собственно это я у вас спрашиваю как это правельно, всё написать, запрос выборки тот каторый я записал ниже... а вот как привязать текстовое поле и запрос собственно вопрос???

  Ответить  
 
 автор: oleg999   (05.10.2009 в 14:10)   письмо автору
 
   для: oleg999   (05.10.2009 в 14:07)
 

если у вас есть подобный пример скинте... пожалуйста

  Ответить  
 
 автор: slo_nik   (05.10.2009 в 15:13)   письмо автору
 
   для: oleg999   (05.10.2009 в 14:10)
 

создай две таблицы в БД, в первой храни название маршрута, в другой подробную информацию для каждого маршрута.
свяжи две таблицы через вторичный ключ ключ.

первая таблица
CREATE TABLE route(
                                        id_route INT(5) NOT NULL AUTO_INCREMENT,
                                        name_    route TINYTEXT,
                                        PRIMARY KEY (id_route),
                                       );
вторая таблица
CREATE TABLE info_all(
                                             id_info_all INT(11) NOT NULL AUTO_INCREMENT,
                                             ЗДЕСЬ СОЗДАЙ ПОЛЯ ТАБЛИЦЫ КОТОРЫЕ НУЖНЫ
                                            PRIMARY KEY(id_info_all),
                                            KEY (id_route)
                                           );

при выводе списка маршрутов обращайся к первой таблице
запрос к первой таблице(маршруты)

$query="SELECT `id_route`,`name_routе` FROM `route`";

и в цикле выводишь все названия маршрутов

в "<option>" надо задать значение "value" равное "id_route", при выборе нужного маршрута передать "id_route" обработчику и выбрать для данного маршрута данные из БД

$query="SELECT * FROM `info_all` WHERE `id_route` = '".$_POST['id_route']."'";

  Ответить  
 
 автор: oleg999   (05.10.2009 в 16:33)   письмо автору
 
   для: slo_nik   (05.10.2009 в 15:13)
 

Я конечно извеняюсь а можно на маленьком примере полный скрипт выборки данных при помощи поля формы select из базы на PHP?

  Ответить  
 
 автор: Slo_Nik   (05.10.2009 в 19:24)   письмо автору
 
   для: oleg999   (05.10.2009 в 16:33)
 

к примеру выводим список областей из БД

<select name="region">
<?php
//выводим список регионов
$query "SELECT * FROM `region`";
$cat mysql_query($query);
if (!
$cat) {echo "ошибка запроса";}
if (
mysql_num_rows($cat) > 0){
    while(
$categories mysql_fetch_array($cat)){
    
$id_region $categories['id_region'];
    echo 
"<option value='".$categories['id_region']."'>".$categories['name_region']."</option>";
    }
}
?>
</select>

вот этот параметр "$categories['id_region']" попадает в "$_POST['region']" и когда надо получить список всех городов в области подставляем этот параметр в запрос к БД и получает только те города, которые находятся в данной области.
в твоём случае будут выводиться данные для определённого маршрута, подставь свои парамерты и должно получиться.

  Ответить  
 
 автор: oleg999   (06.10.2009 в 07:35)   письмо автору
 
   для: Slo_Nik   (05.10.2009 в 19:24)
 

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

  Ответить  
 
 автор: oleg999   (06.10.2009 в 07:37)   письмо автору
 
   для: oleg999   (06.10.2009 в 07:35)
 

я сейчас попробую написать полнйю конструкцию...

  Ответить  
 
 автор: oleg999   (06.10.2009 в 12:16)   письмо автору
 
   для: oleg999   (06.10.2009 в 07:37)
 

Хорошо, давай те разберемся на моём примере.

Я хочу, что бы на страничке было поле со списком, т.е select, кнопочка для запроса.
Снизу до того как ты нажал кнопочку отображалась таблица из базы direction, как только ты нажал кнопочку т.е послал запрос на сервер отразилось только, то что необходимо найти...Например "Душанбе-Москва".
Я создал новую базу для тестов "test" .
create database test;
use test;
create table direction
(dir_id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
name varchar(60))
ENGINE=INNODB;
insert into direction values
(' ', 'Душанбе-Москва'),
(' ', 'Москва-Душанбе'),
(' ', 'Москва-Париж'),
(' ', 'Париж-Москва');
select dir_id as 'Номер', name as 'Направление'from direction;
+-------+----------------+
| Номер | Направление |
+-------+----------------+
| 1 | Душанбе-Москва |
| 2 | Москва-Душанбе |
| 3 | Москва-Париж |
| 4 | Париж-Москва |
+-------+----------------+
Все с базой вроде всё понятно. Перейдем к PHP.Необходимо написать страничку с выборкой из базы данных "direction", снизу до выбора долно отображаться наша полная табличка, как только ты выбрал из списка в таблица снизу с полным результатом исчезаеть и появляються данные из поля select, т.е то что ты выбрал например "Душанбе-Москва".

<html>
<head>
<title>Направление полетов</title>
</head>
<body>
//напоняем наш список содержимый из базы "test" таблицы "direction"
<form action="" method="post">
<select name="direction">
<?php
//выводим список регионов
$query = "SELECT * FROM direction";
$dir = mysql_query($query);
if (!$dir) {echo "ошибка запроса";}
if (mysql_num_rows($dir) > 0){
while($direction= mysql_fetch_array($dir))
{
$id = $direction['id'];
echo "<option value='".$direction['id']."'>".$direction['name']."</option>";
}
}
?>
</select>
<input type="submit" name="Отправить">
</form>
</body>
</html>
у меня получаеться пустое поле select со списком? В чем может быть ошибка???

  Ответить  
 
 автор: Slo_Nik   (06.10.2009 в 10:54)   письмо автору
 
   для: oleg999   (06.10.2009 в 07:35)
 

я привёл пример как организовать выпадающий список с названиями маршрутов.
допиши форму и всё будет нормально

<form action="" method="post">
   <select name="region"> 
<?php 
//выводим список регионов 
$query "SELECT * FROM `region`"
$cat mysql_query($query); 
if (!
$cat) {echo "ошибка запроса";} 
if (
mysql_num_rows($cat) > 0){ 
    while(
$categories mysql_fetch_array($cat)){ 
    
$id_region $categories['id_region']; 
    echo 
"<option value='".$categories['id_region']."'>".$categories['name_region']."</option>"
    } 

?> 
</select>
<input type="submit" name="sub">
</form>

и когда будет отправлена форма, проверяешь массив "POST" и делаешь второй запрос к БД на вывод полной инфы.

и можно сделать так, что после отправки формы будет появляться табличка с данными, а саму форму скрывать.

  Ответить  
 
 автор: oleg999   (06.10.2009 в 13:21)   письмо автору
 
   для: Slo_Nik   (06.10.2009 в 10:54)
 

подскажите где у меня в примере ошибка?

  Ответить  
 
 автор: oleg999   (06.10.2009 в 13:43)   письмо автору
151.1 Кб
 
   для: Slo_Nik   (06.10.2009 в 10:54)
 

вопрос остаеться открытый я получаю пустое поле со списком в чем проблема вроде делаю всё так как было написанно...

  Ответить  
 
 автор: Slo_Nik   (06.10.2009 в 19:32)   письмо автору
 
   для: oleg999   (06.10.2009 в 13:43)
 

по картинке очень сложно судить об ошибках :):):)
а где сам скрипт?
какие ошибки выдаёт?

  Ответить  
 
 автор: Slo_Nik   (06.10.2009 в 20:03)   письмо автору
 
   для: oleg999   (06.10.2009 в 13:43)
 

заметил твой код.......:)
совет не в тему, заключай код в теги "
", тогда он будет сразу бросаться в глаза.
ну а по самому коду есть две существенные ошибки
первая:
в таблице у тебя поле имеет имя "dir_id", а при запросе ты пытаешься получить поле с именем
"$direction['id']", поэтому у тебя и не выводит данные.
вторая:
в теге "input", если хочешь дать своё имя кнопки, надо давать атрибуту "value" значение "отправить", а "name" принимает то значение, которое ты должен передать обработчику формы, используй латинские буквы при задании параметра, значение атрибута "name" будет передано в массив "POST" когда будет отправлена форма

  Ответить  
 
 автор: oleg999   (07.10.2009 в 07:09)   письмо автору
 
   для: Slo_Nik   (06.10.2009 в 20:03)
 

Добрый день. У меня появилось предложение т.е . А можно как нибудь списко селект получать не из базы?

  Ответить  
 
 автор: Slo_Nik   (07.10.2009 в 10:53)   письмо автору
 
   для: oleg999   (07.10.2009 в 07:09)
 

можно и не из базы
ошибки исправил, скрипт заработал?

  Ответить  
 
 автор: oleg999   (07.10.2009 в 10:45)   письмо автору
 
   для: Slo_Nik   (06.10.2009 в 20:03)
 

Вот нашел пример:
Пример 3.1
<html>
<head>
<title>HTML-форма поиска книг</title>
</head>
<body>
<form aсtion="search_book.php" method="post">
Ищем по:<br>
<select name="searchtype" size=3>
<option value="author" selected>Автору
<option value="title">Названию
<option value="isbn">ISBN
</select> <br>
Что ищем:<br> <input name="searchterm"> <br>
<input type=submit value="Поиск">
</form>
</body>
</html>

Результаты заполнения этой формы передаются в search_book.php.
Пример 3.2
<html>
<head>
<title>Программа поиска книг (файл search_book.php)</title>
</head>
<body>
<?php
trim ( $searchterm );
if (!$searchterm)
die ("Не все данные введены.<br>
Пожалуйста, вернитесь назад и закончите ввод");
$searchterm = addslashes ($searchterm);
$link = mysql_pconnect ();
if ( !$link ) die ("Невозможно подключение к MySQL");
$db = "sample";
mysql_select_db ( $db ) or die ("Невозможно открыть $db");
$query = "SELECT * FROM books WHERE "
.$searchtype." like '%".$searchterm."%'";
$result = mysql_query ( $query );
$n = mysql_num_rows ( $result );
for ( $i=0; $i<$n; $i++ )
{
$row = mysql_fetch_array($result);
echo "<p><b>".($i+1).". $row[title]</b><br>";
echo "Автор: $row[author]<br>";
echo "ISBN: $row[ISBN]<br>";
echo "Цена: $row[price]<br>";
echo "Количество: $row[quantity]</p>";
}
if ( $n == 0 ) echo "Ничего не можем предложить. Извините";
mysql_close ( $link );
?>
</body>
</html>

  Ответить  
 
 автор: Slo_Nik   (07.10.2009 в 11:05)   письмо автору
 
   для: oleg999   (07.10.2009 в 10:45)
 

ну этот пример тоже можно подогнать под твой случай, вместо "автор" вписываешь "направление", вместо "названия" можно вписать дату вылета и т.д.
но теперь представь, подходит чел и пытается выяснить как ему долететь до конечного пункта и ему приходится выдумывать как правильно называется маршрут, так как поле с названием пустое.
не проще ли вывести в поле названия маршрута все имеющиеся маршруты, что бы чел не ломал голову с названиями?
а уж потом, когда будет выбран маршрут, выводить подробную информацию.
я понял, что со списком "<select" у тебя ни чего не получилось...

  Ответить  
 
 автор: oleg999   (07.10.2009 в 13:54)   письмо автору
 
   для: Slo_Nik   (07.10.2009 в 11:05)
 

да, я в принципе все исправил теперь, хочу простоиспользовать поле селект, и делать выборку с этим примером...Скрипт я сейчас допишу...

  Ответить  
 
 автор: oleg999   (07.10.2009 в 13:59)   письмо автору
 
   для: oleg999   (07.10.2009 в 13:54)
 

<html>
<head>
<title>Поисковая форма "Направление"
</title>
</head>
<body>
</body>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<select size="1" name="list">
<option value="1">Душанбе-Москва</option>
<option value="2">Москва-Душанбе</option>
<option value="3">Москва-Париж</option>
<option value="4">Париж-Москва</option>
</select>
<input type="submit" name="submit" value="Отправить">
</form>
<?php
$host="localhost";
$user="phobos";
$pw="K@l!na";
$db="test";
$connection=mysql_connect($host,$user,$pw) or die ("Ошибка соединения!");
mysql_select_db($db) or die("Не возможно подключиться к базе данных");
$query = "SELECT * FROM books WHERE '.$list.'";
?>
</html>


Так я связываю поле select c нашей базой...

  Ответить  
 
 автор: oleg999   (07.10.2009 в 14:11)   письмо автору
 
   для: oleg999   (07.10.2009 в 13:59)
 

<html>
<head>
<title>Поисковая форма "Направление"
</title>
</head>
<body>
</body>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<select size="1" name="list">
<option value="1">Душанбе-Москва</option>
<option value="2">Москва-Душанбе</option>
<option value="3">Москва-Париж</option>
<option value="4">Париж-Москва</option>
</select>
<input type="submit" name="submit" value="Отправить">
</form>
<?php
$host="localhost";
$user="phobos";
$pw="K@l!na";
$db="test";
$connection=mysql_connect($host,$user,$pw) or die ("Ошибка соединения!");
mysql_select_db($db) or die("Не возможно подключиться к базе данных");
$query = "SELECT * FROM books WHERE '.$list.'";
$result = mysql_query ( $query );
$n = mysql_num_rows ( $result);
for ( $i=0; $i<$n; $i++ )
{
$row = mysql_fetch_array($result);
echo "<p><b>".($i+1).". $row[name]</b><br>";
}
if ( $n == 0 ) echo "Ничего не можем предложить. Извините";
mysql_close ( $link );
?>
</body>
</html>

Получаю такую ошибку в чем может быть причина:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/local/www/data/dir.php on line 26

????

  Ответить  
 
 автор: Slo_Nik   (08.10.2009 в 12:20)   письмо автору
 
   для: oleg999   (07.10.2009 в 14:11)
 

эта ошибка говорит о том, что подставляемый аргумент не является допустимым.
тут у тебя опять грубая ошибка.
в запросе ты задаёшь условие выборки, но по какому полю не указываешь, а просто подставляешь переменную.
$query = "SELECT * FROM books WHERE '.$list.'";
как скрипт поймёт к чему эта переменная относится?

  Ответить  
 
 автор: oleg999   (07.10.2009 в 14:14)   письмо автору
 
   для: oleg999   (07.10.2009 в 13:59)
 

ошибку нашел но список не выводиться, ошибок тоже нет...
в чем причина???

<html>
<head>
<title>Поисковая форма "Направление"
</title>
</head>
<body>
</body>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<select size="1" name="list">
<option value="1">Душанбе-Москва</option>
<option value="2">Москва-Душанбе</option>
<option value="3">Москва-Париж</option>
<option value="4">Париж-Москва</option>
</select>
<input type="submit" name="submit" value="Отправить">
</form>
<?php
$host="localhost";
$user="phobos";
$pw="K@l!na";
$db="test";
$connection=mysql_connect($host,$user,$pw) or die ("Ошибка соединения!");
mysql_select_db($db) or die("Не возможно подключиться к базе данных");
$query = "SELECT * FROM direction WHERE '.$list.'";
$result = mysql_query ( $query );
$n = mysql_num_rows ( $result);
#for ( $i=0; $i<$n; $i++ )
#{
#$row = mysql_fetch_array($result);
#echo "<p><b>".($i+1).". $row[name]</b><br>";
# }
#if ( $n == 0 ) echo "Ничего не можем предложить. Извините";
#mysql_close ( $link );
?>
</body>
</html>

  Ответить  
 
 автор: oleg999   (07.10.2009 в 14:36)   письмо автору
 
   для: Slo_Nik   (07.10.2009 в 11:05)
 

сейчас плностью подправил код но значение списка не присваиваеться к базу?
я получаю сообщение:
Ничего не можем предложить. Извините


<html>
<head>
<title>Поисковая форма "Направление"
</title>
</head>
<body>
</body>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<select size="1" name="list">
<option value="1">Душанбе-Москва</option>
<option value="2">Москва-Душанбе</option>
<option value="3">Москва-Париж</option>
<option value="4">Париж-Москва</option>
</select>
<input type="submit" name="submit" value="Отправить">
</form>
<?php
$host="localhost";
$user="phobos";
$pw="K@l!na";
$db="test";
$link=mysql_connect($host,$user,$pw) or die ("Ошибка соединения!");
mysql_select_db($db) or die("Не возможно подключиться к базе данных");
$query = "SELECT * FROM direction WHERE '.$list.'";
$result = mysql_query ( $query );
$n = mysql_num_rows ( $result);
for ( $i=0; $i<$n; $i++ )
{
$row = mysql_fetch_array($result);
echo "<p><b>".($i+1).". $row[name]</b><br>";
}
if ( $n == 0 ) echo "Ничего не можем предложить. Извините";
mysql_close ( $link );
?>
</body>
</html>

  Ответить  
 
 автор: oleg999   (07.10.2009 в 18:24)   письмо автору
 
   для: Slo_Nik   (07.10.2009 в 11:05)
 

мне удалось вывести значение:
<html>
<head>
<title>Поисковая форма "Направление"
</title>
</head>
<body>
</body>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<select size="1" name="list">
<option value="Душанбе-Москва">Душанбе-Москва</option>
<option value="Москва-Душанбе">Москва-Душанбе</option>
<option value="Москва-Париж">Москва-Париж</option>
<option value="Париж-Москва">Париж-Москва</option>
</select>
<input type="submit" name="submit" value="Отправить">
</form>
<?php
$host="localhost";
$user="phobos";
$pw="K@l!na";
$db="test";
$link=mysql_connect($host,$user,$pw) or die ("Ошибка соединения!");
mysql_select_db($db) or die("Не возможно подключиться к базе данных");
$query = "SELECT * FROM direction WHERE name='$_POST[list]'";
$result = mysql_query ( $query );
$n = mysql_num_rows ( $result);
for ( $i=0; $i<$n; $i++ )
{
$row = mysql_fetch_array($result);
echo "$row[name]";;
}
mysql_close ( $link );
?>
</body>
</html>

  Ответить  
 
 автор: oleg999   (07.10.2009 в 18:25)   письмо автору
 
   для: Slo_Nik   (07.10.2009 в 11:05)
 

мне удалось вывести значение:
<html>
<head>
<title>Поисковая форма "Направление"
</title>
</head>
<body>
</body>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<select size="1" name="list">
<option value="Душанбе-Москва">Душанбе-Москва</option>
<option value="Москва-Душанбе">Москва-Душанбе</option>
<option value="Москва-Париж">Москва-Париж</option>
<option value="Париж-Москва">Париж-Москва</option>
</select>
<input type="submit" name="submit" value="Отправить">
</form>
<?php
$host="localhost";
$user="phobos";
$pw="K@l!na";
$db="test";
$link=mysql_connect($host,$user,$pw) or die ("Ошибка соединения!");
mysql_select_db($db) or die("Не возможно подключиться к базе данных");
$query = "SELECT * FROM direction WHERE name='$_POST[list]'";
$result = mysql_query ( $query );
$n = mysql_num_rows ( $result);
for ( $i=0; $i<$n; $i++ )
{
$row = mysql_fetch_array($result);
echo "$row[name]";;
}
mysql_close ( $link );
?>
</body>
</html>

  Ответить  
 
 автор: Slo_Nik   (07.10.2009 в 19:23)   письмо автору
 
   для: oleg999   (07.10.2009 в 18:25)
 

поздравляю с успехом:)
но всётаки советую привязываться к "id" маршрута

  Ответить  
 
 автор: oleg999   (08.10.2009 в 07:00)   письмо автору
 
   для: Slo_Nik   (07.10.2009 в 19:23)
 

Добрый день!
Вопрос следующего характера если я буду получать напрвления из БД, тогда для вывода всех направлений мне нужем будет пунтк в этом списке к примеру "все направления", как я его получу? Если можно на примере... Второй вопрос, я сделал все как вы описывали но не получил списка из таблицы базы в список select, можно еще раз попобробнее с описанием полей в базы, таблиц... и подробным описанием кода... Спасибо.

  Ответить  
 
 автор: Slo_Nik   (08.10.2009 в 11:48)   письмо автору
 
   для: oleg999   (08.10.2009 в 07:00)
 

по поводу "все направления" я не понял, объясни.
пркрепи скрипт с кодом при выводе навзаний маршрутов в "select", скопируй код, заархивируй и пркрепи с сообщению, добавь в архив структуру базы.
в начале всех скриптов допиши "error_reporting(E_ALL);" и посмотри какие ошибки или предупреждения будет выводить.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования