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 :: Update при сохранении checkbox

 PHP.SU

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


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

> Без описания
Грачи прилетели
Отправлено: 10 Мая, 2022 - 13:31:34
Post Id



Гость


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


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




Добрый день!

Прошу помочь с советом по моей задаче - необходимо проапдейтить строки таблицы в результате сохранения формы. На форме таблица строится запросом к таблице в БД.
Чекбокс должен апдейтить статус записи

1 - если чекбокс отмечен
0 - если не отмечен

Форма динамическая, строки формируются результатом запроса

PHP:
скопировать код в буфер обмена
  1. <form action="" method="post" enctype="multipart/form-data" name="save_notz">
  2. <?PHP
  3.         ...............
  4.         while ($row = pg_fetch_assoc($res)) {
  5. ?>
  6.         <tr>
  7.                 <td><?PHP echo $row['title'];?></td>
  8.                 <td>
  9.                         <input type="text" name="st[]" value="<?PHP echo $row['id'];?>" />
  10.                         <?PHP if((int)$row['status']===1){?>
  11.                         <input type="checkbox" name="msg[]" id="<?PHP echo $row['id'];?>" checked="">
  12.                         <?PHP }else{?>
  13.                         <input type="checkbox" name="msg[]" id="<?PHP echo $row['id'];?>">
  14.                         <?PHP }?>
  15.                 </td>
  16.         </tr>
  17. <?PHP
  18.         }
  19. ?>
  20. </form>


Так пытаюсь сделать апдейт
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(isset($_POST['save_notz']) && (!empty($_POST['msg'])))
  3. {
  4.         foreach($_POST['st'] as $k => $v)
  5.                 {
  6.                                         echo "UPDATE notz SET status=".$_POST['msg'][$k]." WHERE id=".$v."<br />";
  7.                 }
  8. }
  9.  


но сейчас при любом отмеченном чекбоксе получаю все строчки так
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE notz SET STATUS=ON WHERE id=1
  2. UPDATE notz SET STATUS= WHERE id=2
  3. UPDATE notz SET STATUS= WHERE id=3

(Добавление)
получилось через foreach ($msg as $id =>
 
 Top
Vladimir Kheifets
Отправлено: 11 Мая, 2022 - 15:46:22
Post Id



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


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Грачи прилетели пишет:
Добрый день!

Прошу помочь с советом по моей задаче - необходимо проапдейтить строки таблицы в результате сохранения формы. На форме таблица строится запросом к таблице в БД.
Чекбокс должен апдейтить статус записи

1 - если чекбокс отмечен
0 - если не отмечен

Добрый день!
Давно не прилетали Улыбка
Попробуйте изменить форму
Спойлер (Отобразить)
Удачи!
 
 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