Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Добавление записей в связную таблицу

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: На форме возникла проблема с выпадающим списком
eXTrEMe
Отправлено: 21 Мая, 2012 - 12:23:07
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Привет всем! При разработке БД столкнулся со следующей проблемой: мне нужно реализовать добавление информации в таблицу с формы. Эта таблица является связной с другой. Проблема возникла с выбором значения, являющегося внешним ключом (не удалось реализовать должным образом выпадающий список).
Вот что я пытался сделать:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form action="save_goods_form.php" method="post" name="goods_form">   <!-- ФОРМА ДОБАВЛЕНИЯ ТОВАРОВ -->
  3.  
  4. <p> <TABLE align="center" border="1" cellpadding="0" cellspacing="0">
  5.    <tr>
  6.       <td colspan="2" align="center"> <strong> Добавить товар </strong> </td>
  7.    </tr>
  8.    
  9.    <tr>
  10.       <td width="150"> Название : </td>
  11.       <td> <input type="text" name="product_name" maxlength="30" /> </td>
  12.    </tr>
  13.    
  14.    <tr>
  15.       <td width="150"> Покупатель : </td>
  16.       <td> <?php
  17.            include_once('dbconnect.php');
  18.            $res = mysql_query("SELECT `name` FROM `customer`");
  19.            echo "<select name='customers'>";
  20.             while($row = mysql_fetch_array($res))
  21.             {
  22.              echo "<option value='".$row['name']."'>".$row['name']."</option>";
  23.             }
  24.             echo "</select>";
  25.            ?>          
  26.       </td>
  27.    </tr>
  28.    
  29.    <tr>
  30.       <td colspan="2" align="center">
  31.       <input type="submit" class="buttons" value="Отправить запрос" />
  32.       <input type="reset" class="buttons" value="Очистить" />
  33.       </td>
  34.    </tr>
  35. </TABLE>
  36. </form>
  37.  

Пояснения: есть у меня 2 таблицы - customer (покупатель) и goods (товары). В таблице "Товары" есть поле customer_IDD - это внешний ключ, связанный с первичным customer_id из таблицы "Покупатель".

К нашей форме добавления информации в таблицу "Товары" подключен через action скрипт save_goods_form.php:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  include_once('dbconnect.php');
  4.  
  5.  $name = $_POST['product_name'];
  6.  $cus = //Здесь не знаю что писать для того чтобы правильно добавить значение, ВЫБРАННОЕ из формы
  7.  
  8.  // Пишем запрос на добавление записей в таблицу
  9.  $add_goods = mysql_query("INSERT INTO `goods` (`goods_id`, `product_name`, `customer_IDD`) VALUES(NULL, '$name', '$cus')"); // Добавить товар
  10.  
  11.  if ($add_goods== 'true')
  12.  {echo "Ваши данные успешно добавлены";}
  13.   else{echo "Ваши данные не добавлены";}
  14.  
  15.  mysql_close($dbh); // Завершаем работу с БД
  16.  
  17.  /* Выводим ссылку возврата */
  18.  echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"index.html\">Вернуться назад</a></div>");
  19. ?>
  20.  

Проще говоря, мне нужно корректно совершить два действия:
1. В форме добавления товара, находящейся на главной HTML-странице выбрать его название и ПОКУПАТЕЛЯ (из выпадающего списка).
2. Правильным образом обработать запрос добавления информации в скрипте save_goods_form.php
СПАСИБО ОГРОМНЕЙШЕЕ ВАМ ЗАРАНЕЕ!
 
 Top
Zuldek
Отправлено: 21 Мая, 2012 - 12:31:55
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1. SELECT `name`, `customer_IDD` FROM `customer`");
  2.            echo "<select name='customers'>";
  3.             while($row = mysql_fetch_array($res))
  4.             {
  5.              echo "<option value='".$row['customer_IDD']."'>".$row['name']."</option>";
  6.  
  7. ....
  8.  
  9. $cus = $_POST['customers'];

(Отредактировано автором: 21 Мая, 2012 - 12:34:44)

 
 Top
eXTrEMe
Отправлено: 22 Мая, 2012 - 13:45:29
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Zuldek, все что вы указали я поменял! но по-прежнему присутствует следующая проблема: в ячейке <td> </td> отображается текст PHP-сценария, вместо того, чтобы выполняться. как решить эту проблему? спасибо.
 
 Top
Muxa
Отправлено: 22 Мая, 2012 - 13:50:35
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


Помог: 5 раз(а)




а расширение файла с таблицей - не .html вместо .php случайно?
 
 Top
Zuldek
Отправлено: 22 Мая, 2012 - 13:53:11
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Выведите код получившегося сценария. Телепат плохой я.
 
 Top
eXTrEMe
Отправлено: 22 Мая, 2012 - 13:53:20
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Muxa, конечно .html. у меня главная страница - index.html, в ней ВСЕ ФОРМЫ...
 
 Top
Muxa
Отправлено: 22 Мая, 2012 - 13:54:13
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


Помог: 5 раз(а)




чтобы скрипты php работали, расширение файла должно быть соответсвующее - .php Подмигивание
 
 Top
eXTrEMe
Отправлено: 22 Мая, 2012 - 13:57:19
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Muxa, так у меня php скрипты находятся в отдельных файлах, которые подключены к формам через action. а здесь необходимо, чтобы помимо подключенного к форме выполнился ЕЩЕ ОДИН (тот что написан выше) скрипт...и как быть?
весь код HTML-документа уже написан. неужели ничего непоменяется если взять и просто поменять его расширение на .php?
 
 Top
Muxa
Отправлено: 22 Мая, 2012 - 13:59:44
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


Помог: 5 раз(а)




eXTrEMe пишет:
<td> <?php
           include_once('dbconnect.php');
           $res = mysql_query("SELECT `name` FROM `customer`");
           echo "<select name='customers'>";
            while($row = mysql_fetch_array($res))
            {
             echo "<option value='".$row['name']."'>".$row['name']."</option>";
            }
            echo "</select>";
           ?>          
      </td>
у вас здесь, я так понимаю в index.html используется php скрипт. переименуйте его в index.php - от этого ничего не изменится, кроме того что скрипт заработает.
 
 Top
avtor.fox
Отправлено: 22 Мая, 2012 - 14:05:17
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




eXTrEMe можно указать интерпретатору какие типы файлов ему можно обрабатывать.
Muxa, изменение расширения одного файла иногда может привести к полной неработоспособности системы. Не в этом случае конечно Улыбка
 
 Top
eXTrEMe
Отправлено: 22 Мая, 2012 - 14:06:24
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Muxa, ага, спасибо! действительно все осталось целое за исключением того, что браузер при переходе на test1.ru (использую Denwer) по-прежнему ищет index.html. Да и к сожалению в выпадающем списке ничего не выпадает Недовольство, огорчение хотя и таблица 'customer' содержит записи...
 
 Top
Muxa
Отправлено: 22 Мая, 2012 - 14:08:55
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


Помог: 5 раз(а)





avtor.fox пишет:
Muxa, изменение расширения одного файла иногда может привести к полной неработоспособности системы.
я еще молодой, зеленый.. не встречал такого, стало интересно.. можешь примеры привести?)))
 
 Top
avtor.fox
Отправлено: 22 Мая, 2012 - 14:13:35
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




"Иногда" и "может" - я не буду рассказывать длинные и мудрёные истории. Вот тебе факт, теперь "система" ТС не знает что файл не .html, а .php, ибо ссыли то везде на html (главная же страница).
 
 Top
Muxa
Отправлено: 22 Мая, 2012 - 14:14:32
Post Id



Частый гость


Покинул форум
Сообщений всего: 247
Дата рег-ции: Март 2012  
Откуда: Россия, Тверь


Помог: 5 раз(а)




аа, ты про это..
 
 Top
eXTrEMe
Отправлено: 22 Мая, 2012 - 14:18:15
Post Id


Новичок


Покинул форум
Сообщений всего: 9
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Ребята, лучше подскажите что неправильно со скриптом? запрос вроде бы правильный...
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB