|
|
|
| Помогите, пожалуйста. Мне нужно, чтобы при выборе в одной форме select страны, например России, из базы брались названия регионов этой страны и вставлялись в другую форму select. Как построить таблицу я представляю, но как прописать это в коде не знаю. Подскажите как это сделать. | |
|
|
|
|
|
|
|
для: tim_mironov
(19.09.2005 в 10:59)
| | Есть два пути - при выборе первого селекта - перегружать страницу и выбирать дополнительные данные и второй - загрузить на страницу сразу все регионы, но в скрытом состоянии и средствами JavaScript отображать их. | |
|
|
|
|
|
|
|
для: cheops
(19.09.2005 в 12:56)
| | Большое спасибо за ответ, но расскажите, рожалуйста как изменить нижеследующий код для первого варианта.
<form name="form" method="post" action="abc.php">
<select name="select" >
<option value="ru">Россия</option>
<option value="ua">Украина</option>
</select>
</form>
|
| |
|
|
|
|
|
|
|
для: tim_mironov
(20.09.2005 в 12:16)
| | О том как передать значения обработчику при выборе select лучше спросить в разделе http://www.softtime.ru/forum/index.php?id_forum=4, дале код должен выглядеть примерно следующим образом
<form name="form" method="post" action="abc.php">
<select name="select" >
<option value="ru">Россия</option>
<option value="ua">Украина</option>
</select>
<?php
$query = "";
if($POST['select'] == 'ru') $query = "SELECT * FROM region WHERE country = 'ru'";
if($POST['select'] == 'ua') $query = "SELECT * FROM region WHERE country = 'ua'";
if(!empty($query))
{
$reg = mysql_query($query);
if(!$reg) exit(mysql_error());
// Если имеется хотя бы одно значение
// формируем select
if(mysql_num_rows($reg) > 0)
{
echo "<select name=region>";
while($region = mysql_fetch_array($reg))
{
echo "<option value=$region[id]>$region[name]</option>";
}
echo "</select>";
}
}
?>
</form>
|
Вот ещё одна тема с похожим обсуждением
http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=3359 | |
|
|
|
|
|
|
|
для: cheops
(20.09.2005 в 13:12)
| | Огромное спасибо за ответ. Вам бы не было цены, если бы вы еще подсказали как перегрузить страницу при выборе, а то я в этом деле "чайник", а хочется стать "паровозом" :). При этом с Java я не очень дружу. | |
|
|
|
|
|
|
|
для: tim_mironov
(20.09.2005 в 16:32)
| | Для этого в тэг <select> следует поместить обработчик onchange
<form name="form" method="post" action="abc.php">
<select name="select" onchange='this.form.submit()'>
<option value="ru">Россия</option>
<option value="ua">Украина</option>
</select>
<?php
$query = "";
if($POST['select'] == 'ru') $query = "SELECT * FROM region WHERE country = 'ru'";
if($POST['select'] == 'ua') $query = "SELECT * FROM region WHERE country = 'ua'";
if(!empty($query))
{
$reg = mysql_query($query);
if(!$reg) exit(mysql_error());
// Если имеется хотя бы одно значение
// формируем select
if(mysql_num_rows($reg) > 0)
{
echo "<select name=region>";
while($region = mysql_fetch_array($reg))
{
echo "<option value=$region[id]>$region[name]</option>";
}
echo "</select>";
}
}
?>
</form>
|
http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=1130 | |
|
|
|
|
|
|
|
для: cheops
(21.09.2005 в 01:18)
| | Безмерно Вам благодарен, Игорь Вячеславович. | |
|
|
|