|
|
|
| Есть один список, необходимо по щелчку на элементе этого списка вывести второй список, у которого value равно id (из баз данных) второго списка . Как получить доступ к выделеному элементу списка?
У первого списка определена функция onChange=\"javascript:click_first() которая выдает ошибку такую: нет объекта.
Подскажите что делать.
Скрипт:
<form name=form action=get_legcar1.php method=post>
<SCRIPT LANGUAGE='php'>
//Создание коротких имен
//Открытие базы данных - легковые-таблица производители
$link=mysql_connect('alena', 'alena', 'alena2005');
if (!$link)
{
echo 'Ошибка: не удалось связаться с базой данных; ';
exit();
}
print"Connect succesfully <br>";
mysql_select_db("legcar") or die("Could not select databased");
//Выполнение запроса к БД//
$query_name="SELECT proizvoditel_id , name_proizvoditel FROM proizvoditel";
$result_name=mysql_query($query_name) or die("Query failed");
if(!$result_name)
{
echo "Ошибка при выполенении выборки из таблицы Proizvoditel";
exit();
}
// $number_proizvoditel=mysql_num_rows($result_name);
// Если в таблице есть хоть одна запись - формируем список
if(mysql_num_rows($result_name)>0)
{
echo "<select name=proizvoditel_id id=proizvoditel_id align=center onChange=\"javascript:click_first()\">";
while($line_proizvoditel = mysql_fetch_array($result_name))
{
// Формируем элементы списка
echo "<option value=".$line_proizvoditel['proizvoditel_id'].">".$line_proizvoditel['name_proizvoditel'];
}
echo"</select>";
}
</script>
</form>
<SCRIPT LANGUAGE='php'>
$link=mysql_connect('alena', 'alena', 'alena2005');
if (!$link)
{
echo 'Ошибка: не удалось связаться с базой данных; ';
exit;
}
//print"Connect succesfully <br>";
mysql_select_db("legcar") or die("Could not select databased");
// Формируем тело скрипта JavaScript средствами PHP
$query_name="SELECT proizvoditel_id , name_proizvoditel FROM proizvoditel";
// Получаем "Указатель" на таблицу proizvoditel
$result_name=mysql_query($query_name) or die("Query failed");
if(!$result_name)
{
echo "Ошибка при выполенении выборки из таблицы proizvoditel";
exit();
}
// Если в таблице есть хоть одна запись - формируем список
// Если таблица не пустая то..
if(mysql_num_rows($result_name)>0)
{
for ($counter=0; $counter<=mysql_num_rows($result_name); $counter++)
{
$k=$proizvoditel_id.selected ;
while($line_proizvoditel = mysql_fetch_array($result_name))
{
// Формируем и выполняем SQL-зарос на выборку из таблицы models
$query_model = "SELECT * FROM models WHERE proizvoditel_id=".$line_proizvoditel['proizvoditel_id'];
//$query_model = "SELECT * FROM models WHERE proizvoditel_id=".$k;
$line_models = mysql_query($query_model );
if(!$line_models)
{
echo "Ошибка при выполенении выборки из таблицы models";
exit();
}
//
echo "<p>".$k."</p>";
echo "<p>".$line_proizvoditel['name_proizvoditel']."</p>";
echo "<select name=model_id>";
if(mysql_num_rows($line_models)>0)
{
while($models = mysql_fetch_array($line_models))
{
print "<option value=".$models['proizvoditel_id'].">".$models['name_model'];
}
}
echo"</select>";
} // end while
}
}
</script> | |
|
|
|
|
|
|
|
для: Trischa
(01.07.2005 в 22:49)
| | Код надобыло заключать в теги [ code ]. А то нечитабельный... Вообщем не могу помочь. | |
|
|
|
|
|
|
|
для: Trischa
(01.07.2005 в 22:49)
| | Обычно все возможны комбинации второго селекта выводят, но скрывают средствами стилевых таблиц и по событию выбора в первой таблицы меняют содержимое второго селекта. | |
|
|
|
|
|
|
|
для: cheops
(01.07.2005 в 23:58)
| | Я канешно не уверен что это сработает, так как ещё не пробовал....
В onChange делайте выборку по валуе в оптион из БД...
а боше мне кажется ни как..... | |
|
|
|
|
|
|
|
для: method
(02.07.2005 в 07:18)
| | Без перезагрузки страницы по событию onChange не получиться, так как событие происходит у клиента, а база данных расположена на сервере. | |
|
|
|