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

Форум PHP

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

 

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

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

тема: Двойной селект
 
 автор: frv   (07.05.2007 в 14:32)   письмо автору
 
 

вот такой код:

<?



echo "<form name=form method=post action=''>";

$query "SELECT * FROM `client` GROUP BY `name_client` ORDER BY `name_client` ASC";

$reg mysql_query($query);

echo 
"  <select name=clients onchange='this.form.submit()'>

        <option value=''>Select from list</option> "
;


         for (
$i=0$i<mysql_num_rows($reg); $i++){

           
$name_client=mysql_result ($reg,$i'name_client');

           echo 
"<option value='$name_client'>$name_client</option>";

           }



      echo 
"</select><br><br><hr align=left width=270> Вы выбрали:<br>";

      
$name_client $_POST['clients'];

      print 
"<font size=-1 color=970F0F><b> $name_client </b></font><br>";

      
$query "SELECT * FROM client WHERE name_client = '$name_client'";

      if(!empty(
$query))

      {

        
$reg mysql_query($query);

        if(!
$reg) exit(mysql_error());

        if(
mysql_num_rows($reg) > 0)

        {

          for (
$i=0$i<mysql_num_rows($reg); $i++){

            
$adress_client=mysql_result ($reg,$i'adress_client');

            echo 
"<input name=address_form type=radio value='$adress_client' checked>$adress_client<br>";

          }

          }

      }

echo 
"</form>";

echo 
"

<form action='orders.php' method='POST'>

<input type=hidden name=name_client value='
$name_client'>
<input type=hidden name=address_form value='
$adress_client'>

<INPUT type='submit' value='Next'></form>"
;


?>


все работает, вот только хотелось бы чтобы следеющей станички передался один из выбранных параметром radio. Немогу понять почему он не передается

   
 
 автор: frv   (08.05.2007 в 08:37)   письмо автору
 
   для: frv   (07.05.2007 в 14:32)
 

народ, ну как, есть чем помочь?

   
 
 автор: Loki   (08.05.2007 в 10:05)   письмо автору
 
   для: frv   (07.05.2007 в 14:32)
 

>Немогу понять почему он не передается
он у вас в другой форме

   
 
 автор: frv   (08.05.2007 в 13:54)   письмо автору
 
   для: Loki   (08.05.2007 в 10:05)
 

Почему в другой форме .. вот он и во второй форме:
<input type=hidden name=address_form value='$adress_client'>

   
 
 автор: Trianon   (08.05.2007 в 14:08)   письмо автору
 
   для: frv   (08.05.2007 в 13:54)
 

>Почему в другой форме .. вот он и во второй форме:
><input type=hidden name=address_form value='$adress_client'>
По-моему, Вы radiobutton хотели передать, а не скрытое поле.

P.S. Скрипт стоило бы аккуратнее запостить - разбираться в нем оченьтяжело, не смотря на то, что он сравнительно короткий.

   
 
 автор: frv   (10.05.2007 в 04:42)   письмо автору
 
   для: Trianon   (08.05.2007 в 14:08)
 

как я понимаю чтобы передать параметр radio нужно передать его имя (в скрипте это <input name=address_form type=radio value='$adress_client' checked>) . вот. но он не передает значение на следующую страницу.

   
 
 автор: frv   (10.05.2007 в 09:47)   письмо автору
 
   для: frv   (10.05.2007 в 04:42)
 

покрасивее код:

<?
echo "<form name=form method=post action=''>";
//Запрос с базы где мы групируем клиентов 
  
$query "SELECT * FROM `client` GROUP BY `name_client` ORDER BY `name_client` ASC";
  
$reg mysql_query($query);
        echo 
"  <select name=clients onchange='this.form.submit()'>
        <option value=''>Select from list</option> "
;
         for (
$i=0$i<mysql_num_rows($reg); $i++)  {
                     
$name_client=mysql_result ($reg,$i'name_client');
           echo 
"<option value='$name_client'>$name_client</option>";
           }

//Показываем пользователю какого клиента они выбрали ...
      
echo "</select><br><br><hr align=left width=270> Вы выбрали:<br>";
      
$name_client $_POST['clients'];
      print 
"<font size=-1 color=970F0F><b> $name_client </b></font><br>";

// и предлогаем ему выбрать необходимый адрес:

      
$query "SELECT * FROM client WHERE name_client = '$name_client'";
      if(!empty(
$query))
      {
        
$reg mysql_query($query);
        if(!
$reg) exit(mysql_error());
        if(
mysql_num_rows($reg) > 0)
        {
          for (
$i=0$i<mysql_num_rows($reg); $i++){
            
$adress_client=mysql_result ($reg,$i'adress_client');
// выдаем список адресов выбранного клиента
            
echo "<input name=address_form type=radio value='$adress_client' checked>$adress_client<br>";
          }
        }
     }
echo 
"</form>";
//Новая форма для передачи данных на следующую страничку
echo "
<form action='orders.php' method='POST'>
<input type=hidden name=name_client value='
$name_client'>
//вот собственно и радиобутон
<input type=hidden name=address_form value='
$adress_client'>
<INPUT type='submit' value='Next'></form>"
;
?> 

   
 
 автор: zerocool   (10.05.2007 в 10:37)   письмо автору
 
   для: frv   (10.05.2007 в 09:47)
 

Визуально проконтролируйте, есть ли значение в radiobutton
И что это за странная подпись к полю hidden?
//вот собственно и радиобутон 
<input type=hidden name=address_form value='$adress_client'> 
<INPUT type='submit' value='Next'></form>"; 

   
 
 автор: frv   (11.05.2007 в 04:42)   письмо автору
 
   для: zerocool   (10.05.2007 в 10:37)
 

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

(а эта странная подпись, это просто хотел показать что передаю значение радиобутона, только оно не передается)

   
 
 автор: zerocool   (11.05.2007 в 08:48)   письмо автору
 
   для: frv   (11.05.2007 в 04:42)
 

Интересно, а как Вы хотите чтобы передавалось значение Radiobutton если он стоит в одной форме, а кнопка submit в другой форме?

   
 
 автор: frv   (11.05.2007 в 09:15)   письмо автору
 
   для: zerocool   (11.05.2007 в 08:48)
 

:)
вот в том то и вопрос! КАК?

   
 
 автор: zerocool   (11.05.2007 в 09:18)   письмо автору
 
   для: frv   (11.05.2007 в 09:15)
 

Сделать все в одной форме и radiobutton и submit, или я че то не понимаю

<?
echo "<form name=form method=post action=''>";
//Запрос с базы где мы групируем клиентов
  
$query "SELECT * FROM `client` GROUP BY `name_client` ORDER BY `name_client` ASC";
  
$reg mysql_query($query);
        echo 
"  <select name=clients onchange='this.form.submit()'>
        <option value=''>Select from list</option> "
;
         for (
$i=0$i<mysql_num_rows($reg); $i++)  {
                     
$name_client=mysql_result ($reg,$i'name_client');
           echo 
"<option value='$name_client'>$name_client</option>";
           }

//Показываем пользователю какого клиента они выбрали ...
      
echo "</select><br><br><hr align=left width=270> Вы выбрали:<br>";
      
$name_client $_POST['clients'];
      print 
"<font size=-1 color=970F0F><b> $name_client </b></font><br>";

// и предлогаем ему выбрать необходимый адрес:

      
$query "SELECT * FROM client WHERE name_client = '$name_client'";
      if(!empty(
$query))
      {
        
$reg mysql_query($query);
        if(!
$reg) exit(mysql_error());
        if(
mysql_num_rows($reg) > 0)
        {
          for (
$i=0$i<mysql_num_rows($reg); $i++){
            
$adress_client=mysql_result ($reg,$i'adress_client');
// выдаем список адресов выбранного клиента
            
echo "<input name=address_form type=radio value='$adress_client' checked>$adress_client<br>";
          }
        }
     }

//Новая форма для передачи данных на следующую страничку
echo "
<input type=hidden name=name_client value='
$name_client'>
//вот собственно и радиобутон
<input type=hidden name=address_form value='
$adress_client'>
<INPUT type='submit' value='Next'></form>"
;
?>

   
 
 автор: frv   (11.05.2007 в 10:00)   письмо автору
 
   для: zerocool   (11.05.2007 в 09:18)
 

так у меня ведь почему две формы:
в первой форме выдаются значения радиобутона на основе селекта
 <select name=clients onchange='this.form.submit()'>  

т.е. эта форма сразу сабмитится после выбора пользователем какого-либо клиента из списка.
ну а вторая форма собственно и передает значения.

ну вот. если я все сделаю одной формой, то получается что форма будет переходить на следующую страницу после выбора пользователем значения из списка. :(

   
 
 автор: zerocool   (11.05.2007 в 10:09)   письмо автору
 
   для: frv   (11.05.2007 в 10:00)
 

Судя по приведеному сгенерированному HTML коду значение во второй форме есть, скорее всего дело в файле orders.php собственно куда вы и передаете данные

   
 
 автор: Trianon   (11.05.2007 в 10:23)   письмо автору
 
   для: frv   (11.05.2007 в 10:00)
 

>так у меня ведь почему две формы:
Какая разница, почему у Вас две формы.
Важно, что форма определяет набор передаваемых полей. И из неотправленной формы серверными средствами Вы никаких полей не получите.
Если Вы хотите перекидывать значения между формами еще на клиенте, Вам явно надо четырьмя разделами правее. В HTML+JS.

   
 
 автор: frv   (11.05.2007 в 12:57)   письмо автору
 
   для: Trianon   (11.05.2007 в 10:23)
 

Да нет же. Почему если я получаю значения те которые мне нужны (см. сгенирированный код), я не могу передать значения на следующую страницу. Максимум чего у меня получилось так это то, что на следующей страницы я получаю того клиента, которого выбрал пользователь и тот адрес который вышел самый первый, а не тот который клиент выбрал, использовав радиобутоны???

   
 
 автор: zerocool   (11.05.2007 в 14:03)   письмо автору
 
   для: frv   (11.05.2007 в 12:57)
 

Смотрите выше пост trianon'a, это обсуждается в форуме Html CSS Javascript, как на стороне клиента перекидывать данные из одной формы в другую

   
 
 автор: Trianon   (10.05.2007 в 13:02)   письмо автору
 
   для: frv   (10.05.2007 в 09:47)
 

покажите html-код, сгенерированный Вашим скриптом.

   
 
 автор: frv   (10.05.2007 в 15:06)   письмо автору
 
   для: Trianon   (10.05.2007 в 13:02)
 

html код сгенериррованный скриптом

<form name=form method=post action=''>  <select name=clients onchange='this.form.submit()'>
        <option value=''>Select from list</option> <option value='ДГУП № 691 ФКП УТ СибВО'>ДГУП № 691 ФКП УТ СибВО</option>
.........................тут много чего еще.............

<option value='ООО"Северный"'>ООО"Северный"</option>
<option value='ООО"Селена"'>ООО"Селена"</option>
<option value='ООО"Сервисный центр "Восток"'>ООО"Сервисный центр "Восток"</option>
<option value='ООО"Эллисс"'>ООО"Эллисс"</option>
<option value='ООО"ЭЛЯ"'>ООО"ЭЛЯ"</option>
<option value='ООО"Южный"'>ООО"Южный"</option>
<option value='ООО"Юлия"'>ООО"Юлия"</option>
<option value='ПК "Экспресс"'>ПК "Экспресс"</option>
<option value='ПО Томский Пищекомбинат'>ПО Томский Пищекомбинат</option>
<option value='Потапов и компания  ООО'>Потапов и компания  ООО</option>
<option value='ФГУ   Центр  реабилитации    Ф'>ФГУ   Центр  реабилитации    Ф</option>
<option value='ФГУП "СХК"'>ФГУП "СХК"</option>
</select><br><br><hr align=left width=270> Вы выбрали:<br><font size=-1 color=970F0F><b> ООО\"ЭЛЯ\" </b></font><br>
<input name=address_form type=radio value='г.Томск,ул.Новосибирская,37' checked>г.Томск,ул.Новосибирская,37<br>
<input name=address_form type=radio value='г.Томск,ул.И.Черных,97а' checked>г.Томск,ул.И.Черных,97а<br>
<input name=address_form type=radio value='г.Томск,ул.Пушкина,56а' checked>г.Томск,ул.Пушкина,56а<br></form>

<form action='orders.php' method='POST'>
<input type=hidden name=name_client value='ООО\"ЭЛЯ\"'>
//вот собственно и радиобутон
<input type=hidden name=address_form value='г.Томск,ул.Пушкина,56а'>
<INPUT type='submit' value='Next'></form>  

   
Rambler's Top100
вверх

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