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.SU

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


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

> Без описания
panzermensch
Отправлено: 15 Августа, 2018 - 13:41:50
Post Id


Новичок


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


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




Добрый день!

Знаю что вопрос многим покажется элементарным и потому тупым, но все же прошу помочь или подсказать на примере.

Ситуация такая: запросом из БД выводится список документов. Также напротив каждой строки генерируется неотмеченный чекбокс. По умолчанию значение поля в БД 0. Нужно чтобы отмеченные чекбоксы устанавливали в БД значение 1 для соответсвующего id. Не отмеченные оставляют все без изменений.

Скрипт запроса:

PHP:
скопировать код в буфер обмена
  1. $reqst = "SELECT copy_documents.id, kodcl, naimcl, otdel, station, dat_doc, nom_doc, status, kolvo, krizh
  2. FROM copy_documents INNER JOIN list_of_copy_codes ON copy_documents.kodcl = list_of_copy_codes.code
  3. WHERE dat_perech BETWEEN '$d1' and '$d2' AND kolvo !='0' AND status !='77' AND kodcl='$kod'
  4. ORDER by nom_doc";
  5.  
  6. $result = mysql_query($reqst);
  7. $resultat = mysql_num_rows($result) || die(mysql_error());
  8. if ($resultat > 0) {
  9. $alle = mysql_fetch_array($result);
  10.  
  11. echo "<center><h2>Отработанные документы по клиенту $kod за период с $d1 по $d2</h2><br>";
  12.  
  13. echo "<table border='1' cellspacing='0' cellpadding='5'  width='900' align='center'>
  14. <tr>
  15. <td><b>id</b></td>
  16. <td><b>Код клиента</b></td>
  17. <td><b>Наименование клиента</b></td>
  18. <td><b>Услуга</b></td>
  19. <td><b>Станция</b></td>
  20. <td><b>Дата документа</b></td>
  21. <td><b>Номер документа</b></td>
  22. <td><b>Поле для сверки</b></td>
  23. </tr>";
  24. do
  25. {
  26. echo "<form method='post' action='regcopies_worked_update_test.php'>
  27.  
  28. <tr>
  29. <td><p><input type='text' name='id[$alle1[id]]' value='$alle[id]'></p></td>
  30. <td><p>$alle[kodcl]</p></td>
  31. <td><p>$alle[naimcl]</p></td>
  32. <td><p>$alle[otdel]</p></td>
  33. <td><p>$alle[station]</p></td>
  34. <td align='center'><p>$alle[dat_doc]</p></td>
  35. <td align='right'><p>$alle[nom_doc]</p></td>
  36. <td><p><input type='checkbox' value='$alle[krizh]' name='krizh[$alle[id]]'></p></td>
  37.  
  38. ";
  39. }
  40.  
  41. while($alle = mysql_fetch_array($result));
  42. }
  43. echo "</table><p><input type='submit' value='ПОДТВЕРДИТЬ'></p></form>";
  44.  
  45. }


Скрипт обработки

PHP:
скопировать код в буфер обмена
  1. $id = $_POST['id'];
  2. $krizh = $_POST['krizh'];
  3.  
  4. foreach ($id as $current_id) {
  5.  
  6.     $str_sql = "UPDATE copy_documents SET krizh='$krizh[$current_id]' WHERE id='$current_id' ";
  7.     mysql_query($str_sql) or die(mysql_error());
  8.  
  9. }


На форумах накопал что чекбоксы и idшники нужно поместить в массив из которого после раскидать по БД. но, к сожалению.не могу это реализовать и не нашел подходящих примеров. Прошу вашей помощи.

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


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB