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 и выпадающий список

 PHP.SU

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


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

> Без описания
vanya_sl
Отправлено: 12 Июля, 2013 - 13:49:59
Post Id



Частый гость


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


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




Здравствуйте! Только учу пхп и мускул ... решил попрактиковаться...
Маленькая проблема.
Есть база данных, в ней таблица с таких полей
`order_id` - id заказа
`order_text` - текст заказа
`order_explain` - 2-й ткст заказа
То есть пользователь заполняет фому нажимает кнопочку и данные записываются в БД.
Простые поля я знаю как записать. Возникла проблема с выпадающим списком.
Как занести в БД в отдельное поле выбранный пользователем пункт из выпадающего списка:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. Пункт:
  3. <select>
  4.   <option>Пункт 1</option>
  5.   <option>Пункт 2</option>
  6. </select>

Спасибо большое! Улыбка
 
 Top
teddy
Отправлено: 12 Июля, 2013 - 14:27:17
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




vanya_sl пишет:
<select>
<option>Пункт 1</option>
<option>Пункт 2</option>
</select>


CODE (html):
скопировать код в буфер обмена
  1.  
  2. <select name="menu">
  3.   <option value="">Пункт 1</option>
  4.   <option>Пункт 2</option>
  5. </select>
  6.  


В value записываете то значение, которое хотите получить при выборе того или иного пункта(value должен быть для каждого, естественно).

Атрибут name у select позволит вам принять эти значения следующим образом:

$menu = $_POST['menu'];

и в $menu уже вернется выбранное значение value для выбранного пункта из списка.



Раз, два, три - caballero приходи!
 
 Top
vanya_sl
Отправлено: 12 Июля, 2013 - 14:38:46
Post Id



Частый гость


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


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




teddy пишет:

и в $menu уже вернется выбранное значение value для выбранного пункта из списка.



а в БД к полю в которое будет записываться значение из списка какой задать тип? text?
 
 Top
AlexAnder
Отправлено: 12 Июля, 2013 - 14:40:05
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


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




Цитата:
$menu = $_POST['menu'];

ytn, $_GET['menu']
(Добавление)
Цитата:
какой задать тип? text?

да, экономить на спичках - плохо (teddy ©)


-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
teddy
Отправлено: 12 Июля, 2013 - 14:40:59
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




vanya_sl
Нет. Если небольшой текст, то лучше VARCHAR. тип TEXT вмещает по умолчанию если не ошибаюсь 5к+ символов... оно вам нужно? )

Укажите например VARCHAR(20) или сколько вам надо для получения полного значения
 
 Top
vanya_sl
Отправлено: 12 Июля, 2013 - 14:54:02
Post Id



Частый гость


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


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




teddy пишет:

Укажите например VARCHAR(20) или сколько вам надо для получения полного значения

Большое спасибо!
проблема.. не записывает почему-то в БД из текстовых полей ... в чем может быть проблема?
что-то я криво делаю ...
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form method="POST">
  3.  
  4. Текст1:</br>
  5.  
  6. <textarea  rows="10" style="width: 100%;" name="text"></textarea></br>
  7.  
  8. Текст2:</br>
  9.  
  10. <textarea  rows="5" style="width: 100%;" name="explain"></textarea></br>
  11.  
  12.  
  13. <input class="btn btn-large btn-primary" name="submit" type="submit" value="Отправить">
  14. </form>
  15.  

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. include("db_connect.php");
  5.  
  6. if(isset($_POST['submit']))
  7.  
  8. {
  9.         $text = $_POST['text'];
  10.                
  11.                 $explain = $_POST['explain'];
  12.        
  13.  
  14.         mysql_query("INSERT INTO order SET order_text='".$text."', order_explain='".$explain."'");
  15.                
  16.                 }
  17.  
  18. ?>
  19.  
 
 Top
teddy
Отправлено: 12 Июля, 2013 - 15:14:37
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




Добавьте в конец запроса or die(mysql_error()). Это покажет причину по которой не добавились записи. Скорее всего косяк с названиями в БД.

А вообще при запросах на добавление удобнее делать так:

PHP:
скопировать код в буфер обмена
  1. mysql_query("INSERT INTO `tablename`(`column1`, `column2`) VALUES('$column1', '$column2')");
  2.  

(Отредактировано автором: 12 Июля, 2013 - 15:15:20)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB