Форумы портала PHP.SU » » Работа с СУБД » Вывод информации при помощи SELECT (выпадающий список)

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

1. pls - 07 Ноября, 2016 - 10:27:47 - перейти к сообщению
Здравствуйте! Помогите составить запрос.

У меня есть форма для занесения информации в БД. В ней используется 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.  
2. StereoFlo - 07 Ноября, 2016 - 10:44:42 - перейти к сообщению
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.  


что-то типа того
3. pls - 07 Ноября, 2016 - 11:19:45 - перейти к сообщению
Не сохраняет(
4. StereoFlo - 07 Ноября, 2016 - 11:23:43 - перейти к сообщению
конечно, потому что я написал это для примера. я же не знаю, какой у вас индекс в _POST, соответствует $row[tip_id]
5. pls - 07 Ноября, 2016 - 11:32:17 - перейти к сообщению
Когда я беру данные не их БД а из формы, такая конструкция срабатывает.

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.  
6. StereoFlo - 07 Ноября, 2016 - 11:36:55 - перейти к сообщению
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.  
7. pls - 07 Ноября, 2016 - 11:45:17 - перейти к сообщению
Спасибо, я догнал. Вот правильный код:

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.  

 

Powered by ExBB FM 1.0 RC1