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

Форум MySQL

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

 

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

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

тема: Как связать двойной select с MySql
 
 автор: tim_mironov   (19.09.2005 в 10:59)   письмо автору
 
 

Помогите, пожалуйста. Мне нужно, чтобы при выборе в одной форме select страны, например России, из базы брались названия регионов этой страны и вставлялись в другую форму select. Как построить таблицу я представляю, но как прописать это в коде не знаю. Подскажите как это сделать.

   
 
 автор: cheops   (19.09.2005 в 12:56)   письмо автору
 
   для: tim_mironov   (19.09.2005 в 10:59)
 

Есть два пути - при выборе первого селекта - перегружать страницу и выбирать дополнительные данные и второй - загрузить на страницу сразу все регионы, но в скрытом состоянии и средствами JavaScript отображать их.

   
 
 автор: tim_mironov   (20.09.2005 в 12:16)   письмо автору
 
   для: 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>

   
 
 автор: cheops   (20.09.2005 в 13:12)   письмо автору
 
   для: 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

   
 
 автор: tim_mironov   (20.09.2005 в 16:32)   письмо автору
 
   для: cheops   (20.09.2005 в 13:12)
 

Огромное спасибо за ответ. Вам бы не было цены, если бы вы еще подсказали как перегрузить страницу при выборе, а то я в этом деле "чайник", а хочется стать "паровозом" :). При этом с Java я не очень дружу.

   
 
 автор: cheops   (21.09.2005 в 01:18)   письмо автору
 
   для: 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

   
 
 автор: tim_mironov   (21.09.2005 в 10:23)   письмо автору
 
   для: cheops   (21.09.2005 в 01:18)
 

Безмерно Вам благодарен, Игорь Вячеславович.

   
Rambler's Top100
вверх

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