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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: двойной выпадающий список из книги

Сообщения:  [1-3] 

 
 автор: ronin   (22.07.2008 в 18:32)   письмо автору
 
   для: ronin   (22.07.2008 в 13:10)
 


 for($i = 0; $i < 10; $i++)

  if($_POST[product.$i]>0)
 $_POST[product.$i];

$_POST[product.$i];
-
вносим в БД, у меня работает!

   
 
 автор: ronin   (22.07.2008 в 13:10)   письмо автору
 
   для: ronin   (22.07.2008 в 11:56)
 


echo "<pre>";
print_r($_POST);
echo "</pre>";

выдает

Array
(
    [id_catalog] => 6
    [product1] => 0
    [product2] => 0
    [product3] => 0
    [product4] => 0
    [product5] => 0
    [product6] => 12
    [product7] => 0
    [name] => имя
    [content] => содержание
    [tel] => 222-22-22
)

а как мне тут разобраться с тем [product] -который нужен?

   
 
 автор: ronin   (22.07.2008 в 11:56)   письмо автору
 
 

Здравствуйте!
имеется двойной выпадающий список из книги Кузнецова и Симдянова MySQL 5
у меня имеется только форма:)

<?php 
  
// Устанавливаем соединение с базой данных 
  
require_once("config.php"); 

  
// Начало HTML-формы 
  
echo "<form action=handler.php method=post>"; 

  
// Формируем первый выпадающий список 
  
$query = "SELECT * FROM catalogs 
            ORDER BY name"
; 
  
$cat = mysql_query($query); 
  if(!
$cat) exit(mysql_error()); 
  
// Если имеется хотя бы одна запись 
  // формируем выпадающий список 



  
if(mysql_num_rows($cat) > 0) 
  { 
    echo 
"<select name=id_catalog onchange='show(this.form.id_catalog)'>"; 
    echo 
"<option value=0>Не имеет значения</option>"; 
    while(
$catalog = mysql_fetch_array($cat)) 
    { 
$query="SELECT * FROM products where id_catalog='$catalog[id_catalog]'"; 
$prod = mysql_query($query); 
    if(
mysql_num_rows($prod) > 0) 
  { 

      if(
$_POST['id_catalog'] == $catalog['id_catalog']) $selected = "selected"; 
      else 
$selected = ""; 
      echo 
"<option value=$catalog[id_catalog] $selected>$catalog[name]</option>"; 

      
// Формируем массив первичных ключей каталогов 
      
$array_catalog[] = $catalog['id_catalog']; 
    }   } 
    echo 
"</select>"; 
  } 

  
// Формируем второй выпадающий список 
  
$query = "SELECT * FROM catalogs"; 
  
$cat = mysql_query($query); 
  if(!
$cat) exit(mysql_error()); 
  
// Если имеется хотя бы одна запись 
  // формируем выпадающий список 
  
if(mysql_num_rows($cat) > 0) 
  { 
    while(
$catalog = mysql_fetch_array($cat)) 
    { 
      
// Формируем скрытые списки 
      
$query = "SELECT * FROM products 
                WHERE id_catalog = 
$catalog[id_catalog] 
                ORDER BY name"
; 
      
$prd = mysql_query($query); 
      if(!
$prd) exit(mysql_error()); 
      
// Если в текущем каталоге имеется хотя бы 
      // одна товарная позиция формируем выпадающий список 
      
if(mysql_num_rows($prd) > 0) 
      { 
        echo 
"<select id=$catalog[id_catalog] style=\"display:none\" name=product$catalog[id_catalog]>"; 
        while(
$product = mysql_fetch_array($prd)) 
        { 
          if(
$_POST['id_product'] == $product['id_product']) $selected = "selected"; 
          else 
$selected = ""; 
          echo 
"<option value=$product[id_product] $selected>$product[name]</option>"; 
        } 
        echo 
"</select>"; 
      } 
    } 
  } 
  echo 
"</br><input type=submit name=send value=Отправить>"; 

  
// Конец HTML-формы 
  
echo "</form>"; 
?> 
<script language='JavaScript1.1' type='text/javascript'> 
<!-- 
  var messageIdList = new Array(<?= implode(",", $array_catalog) ?>); 
  function show(sel) 
  { 
    for (i = 0; i < messageIdList.length; i++) 
    { 
      document.getElementById(messageIdList[i]).style.display = "none"; 
    } 
    document.getElementById(sel.options[sel.selectedIndex].value).style.display = "block"; 
  } 
//--> 
</script> 

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

   

Сообщения:  [1-3] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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