За последние 24 часа нас посетили 111133 программиста и 6479 роботов. Сейчас ищут 1409 программистов ...

Удаление строки таблицы через checkbox

Тема в разделе "PHP для новичков", создана пользователем ghghgh91, 21 авг 2018.

  1. ghghgh91

    ghghgh91 Новичок

    С нами с:
    21 авг 2018
    Сообщения:
    3
    Симпатии:
    0
    Добрый день. Помогите пожалуйста. Уже неделю бьюсь и не могу реализовать удаления строк в таблице через чекбокс, значение переменной $user['id']. не передается через POST. Спасибо!


    PHP:
    1. <?php
    2. require "db.php";
    3. if (!R::testConnection())
    4. {
    5. exit('нет подключения к БД!');
    6. }
    7.  
    8. $ka=$_SESSION['logged_user'];
    9. $register_users = R::findAll( 'shipments', 'k_a=?',array($ka));
    10. ?>
    11. <table width=1500, style='border: 1px solid grey';>
    12. <tr align=center>
    13. <th width=29, style='border: 1px solid grey';>id</th>
    14. <th width=150, style='border: 1px solid grey';>Поставщик</th>
    15. <th width=150, style='border: 1px solid grey';>Дата отгрузки</th>
    16. <th width=150, style='border: 1px solid grey';>Номер ДД</th>
    17. <th width=150, style='border: 1px solid grey';>Ответственное лицо по ДД</th>
    18. <th width=150, style='border: 1px solid grey';>Номер сч/ф</th>
    19. <th width=150, style='border: 1px solid grey';>Данные на водителя \ ТК</th>
    20. <th width=150, style='border: 1px solid grey';>Дата фактической поставки</th>
    21. </tr>
    22. </table>
    23.  
    24. <?php
    25. if( $register_users ) {
    26. foreach( $register_users as $user ) {
    27. echo "<table width=1500, style='border: 1px solid grey';>
    28. <tr>
    29. <td width=41, style='border: 1px solid grey';>".$user['id']."</td>
    30. <td width=209, style='border: 1px solid grey';>".$user['k_a']."</td>
    31. <td width=209, style='border: 1px solid grey';>".$user['dataa']."</td>
    32. <td width=209, style='border: 1px solid grey';>".$user['DD']."</td>
    33. <td width=209, style='border: 1px solid grey';>".$user['oldd']."</td>
    34. <td width=207, style='border: 1px solid grey';>".$user['TORG']."</td>
    35. <td width=207, style='border: 1px solid grey';>".$user['fio_driver']."</td>
    36. <td width=207, style='border: 1px solid grey';>".$user['dataa_postavki']."</td>
    37. <td><input type=hidden name=checkbox[] value='0' ></td>
    38. <td><input type=checkbox name=checkbox[] value=".$user['id']." ></td>
    39. </tr>
    40. </table>";
    41. }
     
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    656
    Значение (и сам параметр в целом) передается, когда чекбокс проставляется. У вас нет ни формы, ни кнопки отправки. Как это вообще работает?
     
  3. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.907
    Симпатии:
    327
    JS
     
  4. lastdays

    lastdays Активный пользователь

    С нами с:
    27 сен 2012
    Сообщения:
    410
    Симпатии:
    74
    <td><input type=hidden name=checkbox[] value='0' ></td>

    Зачем?

    Что-то вы нагородили, вряд ли кто поможет с таким кодом, какой он есть выше.
     
  5. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    656
    @Valick, но это ведь существенное обстоятельство при обсуждении отправки. У ТСа об этом ни слова ;)
     
  6. ghghgh91

    ghghgh91 Новичок

    С нами с:
    21 авг 2018
    Сообщения:
    3
    Симпатии:
    0
    Прошу прощения, не весь код загрузил , забыл упомянуть что используется redbeanphp


    PHP:
    1. <?php
    2. require "db.php";
    3. if (!R::testConnection())
    4. {
    5. exit('нет подключения к БД!');
    6. }
    7. function dump($what)
    8. {
    9. echo '<pre>';print_r($what);echo'</pre>';    
    10. }
    11.                       if(isset($_POST['Del']))
    12.                          
    13. {
    14.                           $checkbox=$_POST['checkbox'];
    15.                           echo "Удалено";
    16. }
    17. for($i=0;$i<count($checkbox);$i++){
    18.  
    19. $m = R::load('shipments', 'id = ?', $checkbox);
    20. R::trash($m);
    21. }
    22.  
    23. $ka=$_SESSION['logged_user'];
    24. $register_users = R::findAll( 'shipments', 'k_a=?',array($ka));
    25. ?>
    26. <table width=1500, style='border: 1px solid grey';>
    27. <tr align=center>
    28. <th width=29, style='border: 1px solid grey';>id</th>
    29. <th width=150, style='border: 1px solid grey';>Поставщик</th>
    30. <th width=150, style='border: 1px solid grey';>Дата отгрузки</th>
    31. <th width=150, style='border: 1px solid grey';>Номер ДД</th>
    32. <th width=150, style='border: 1px solid grey';>Ответственное лицо по ДД</th>
    33. <th width=150, style='border: 1px solid grey';>Номер сч/ф</th>
    34. <th width=150, style='border: 1px solid grey';>Данные на водителя \ ТК</th>
    35. <th width=150, style='border: 1px solid grey';>Дата фактической поставки</th>
    36. </tr>
    37. </table>
    38.  
    39. <?php
    40. if( $register_users ) {
    41. foreach( $register_users as $user ) {
    42. echo "<table width=1500, style='border: 1px solid grey';>
    43. <tr>
    44. <td width=41, style='border: 1px solid grey';>".$user['id']."</td>
    45. <td width=209, style='border: 1px solid grey';>".$user['k_a']."</td>
    46. <td width=209, style='border: 1px solid grey';>".$user['dataa']."</td>
    47. <td width=209, style='border: 1px solid grey';>".$user['DD']."</td>
    48. <td width=209, style='border: 1px solid grey';>".$user['oldd']."</td>
    49. <td width=207, style='border: 1px solid grey';>".$user['TORG']."</td>
    50. <td width=207, style='border: 1px solid grey';>".$user['fio_driver']."</td>
    51. <td width=207, style='border: 1px solid grey';>".$user['dataa_postavki']."</td>
    52. <td><input type=checkbox name=checkbox[] value=".$user['id']." ></td>
    53. </tr>
    54. </table>";
    55. }
    56.  
    57. }
    58. ?>
    59. <meta charset="UTF-8" />          
    60. <form action="/supplier.php" method="POST">
    61.  
    62. <p>
    63.     <button type="submit" name="Del">Удалить</button>
    64. </p>
    65.  
    66. </form>
     
  7. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    @ghghgh91, наверное, потому что чекбоксы находятся вне формы и/или не обрабатываются в том самом засекреченном скрипте JS...
    Гляньте на всякий случай в консоли браузера ошибки...
     
  8. ghghgh91

    ghghgh91 Новичок

    С нами с:
    21 авг 2018
    Сообщения:
    3
    Симпатии:
    0
    JS не использую