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 :: Вывод информации при помощи SELECT (выпадающий список)

 PHP.SU

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


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

> Описание: Вывод информации при помощи SELECT (выпадающий список)
pls
Отправлено: 07 Ноября, 2016 - 10:27:47
Post Id


Новичок


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


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




Здравствуйте! Помогите составить запрос.

У меня есть форма для занесения информации в БД. В ней используется SELECT (выпадающий список). Всё нормально работает и заносится в базу. Но возникает проблема, после того как пользователь внес не правильные данные в форме я вывожу ошибки и в форме скидывается значение которое было введено в поле select и его приходится вводить ещё раз. Как сделать так чтобы оно сохранялось?

PHP:
скопировать код в буфер обмена
  1.  
  2.             $row1 = R::getAll('SELECT * FROM `tip` ORDER BY kod_tip');
  3.             echo "<select name = 'tip'>";
  4.             foreach ($row1 as $row) {
  5.                 echo "<option value = $row[tip_id] > $row[tip_naim]</option>";            
  6.             }            
  7.             echo "</select>";
  8.  
 
 Top
StereoFlo
Отправлено: 07 Ноября, 2016 - 10:44:42
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Нояб. 2016  


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




PHP:
скопировать код в буфер обмена
  1.  
  2.             $row1 = R::getAll('SELECT * FROM `tip` ORDER BY kod_tip');
  3.             echo "<select name = 'tip'>";
  4.             foreach ($row1 as $row) {
  5. if ($_POST['tip_id'] == $row[tip_id] ) {
  6. echo "<option value = $row[tip_id] selected> $row[tip_naim]</option>";        
  7. } else {
  8. echo "<option value = $row[tip_id] > $row[tip_naim]</option>";  
  9. }
  10.                          
  11.             }            
  12.             echo "</select>";
  13.  


что-то типа того
 
 Top
pls
Отправлено: 07 Ноября, 2016 - 11:19:45
Post Id


Новичок


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


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




Не сохраняет(
 
 Top
StereoFlo
Отправлено: 07 Ноября, 2016 - 11:23:43
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Нояб. 2016  


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




конечно, потому что я написал это для примера. я же не знаю, какой у вас индекс в _POST, соответствует $row[tip_id]
 
 Top
pls
Отправлено: 07 Ноября, 2016 - 11:32:17
Post Id


Новичок


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


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




Когда я беру данные не их БД а из формы, такая конструкция срабатывает.

CODE (html):
скопировать код в буфер обмена
  1.  
  2.           <p>
  3.             <p><strong>Город:</strong></p>
  4.             <select name="miscev">
  5.             <option value="0">Выберите тип</option>
  6.             <option value="1"<?php @$data['miscev']==1 ? print "selected" : false;?>>Город</option>
  7.             <option value="2"<?php @$data['miscev']==2 ? print "selected" : false;?>>Село</option>
  8.             </select>
  9.            </p>
  10.  
 
 Top
StereoFlo
Отправлено: 07 Ноября, 2016 - 11:36:55
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Нояб. 2016  


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




PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.             $row1 = R::getAll('SELECT * FROM `tip` ORDER BY kod_tip');
  4.             echo "<select name = 'tip'>";
  5.             foreach ($row1 as $row) {
  6. if ($_POST['miscev'] == $row[tip_id] ) {
  7. echo "<option value = $row[tip_id] selected> $row[tip_naim]</option>";        
  8. } else {
  9. echo "<option value = $row[tip_id] > $row[tip_naim]</option>";  
  10. }
  11.                          
  12.             }            
  13.             echo "</select>";
  14.  
  15.  
 
 Top
pls
Отправлено: 07 Ноября, 2016 - 11:45:17
Post Id


Новичок


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


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




Спасибо, я догнал. Вот правильный код:

PHP:
скопировать код в буфер обмена
  1.  
  2.             $row1 = R::getAll('SELECT * FROM `tip` ORDER BY kod_tip');
  3.             echo "<select name = 'tip'>";
  4.             foreach ($row1 as $row) {
  5.             if ($_POST['tip'] == $row[tip_id] ) {
  6.             echo "<option value = $row[tip_id] selected> $row[tip_naim]</option>";        
  7.             } else {
  8.             echo "<option value = $row[tip_id] > $row[tip_naim]</option>";  
  9.             }                        
  10.             }            
  11.             echo "</select>";
  12.  
 
 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