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
Форумы портала PHP.SU :: Версия для печати :: Запись чекбоксов в БД
Форумы портала PHP.SU » » Вопросы новичков » Запись чекбоксов в БД

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

1. alsio - 02 Февраля, 2020 - 01:51:16 - перейти к сообщению
Из БД в цикле выводится список с чекбоксами.

CODE (html):
скопировать код в буфер обмена
  1. <td><input type="checkbox" name="box[]" value="<?echo("".$row["nom_id"]."");?>"></td>
  2. <td><?echo("".$row["nom_id"]."");?></td>
  3. <td><?echo("".$row["nom_kod"]."");?></td>


необходимо выбранные чекбоксы записать в новую таблицу:

PHP:
скопировать код в буфер обмена
  1. $sql = mysql_query ("SELECT nom_id, nom_kod FROM nom WHERE nom_id IN (".implode(",", $_REQUEST['box']).") ");
  2. $row = mysql_fetch_array($sql);
  3. while($row=mysql_fetch_array($sql)){
  4. $nom_id = $row['nom_id'];
  5. $nom_kod = $row['nom_kod'];
  6. $sql = mysql_query ("INSERT INTO nom_temp (nom_temp_nomid, nom_temp_nomkod) VALUES ('$nom_id', '$nom_kod')");}


Но в новую таблицу записывается только первый чекбокс. Подскажите, пожалуйста, что тут не так?
2. Lolya - 02 Февраля, 2020 - 08:25:04 - перейти к сообщению
вам нужно один раз или все время эту операцию делать? Потому что, если один раз, то я вчера такую тему создала и мне ответили с верным решением.
Если много-разовое у вас "вписывание", то надо брать данные из самого поста и вписывать их в новую и старую таблицу, если вы хотите чтобы и там и там были эти данные.
3. alsio - 08 Февраля, 2020 - 19:14:54 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. foreach($_REQUEST['box'] as $box)
  2. {
  3. mysql_query("INSERT INTO nom_temp (nom_temp_nomid) VALUES ('$box')");
  4. }
4. LIME - 08 Февраля, 2020 - 19:45:46 - перейти к сообщению
alsio my-site.ru?box[item1][item2]=my_string
упадет скрипт

 

Powered by ExBB FM 1.0 RC1