Обновляется значение у всех строк

Имеется 2 кнопки и разделы с чекбоксами, по нажатию на кнопку в поле 'com' изменяется значение поля на значение кнопки выделенного раздела, проблема в том, что изменяется значение поля 'com' вообще всех разделов, но не тот который отмечен

кнопки:

<input type="submit" class="but btn-reset" name="str" value="start"> <input type="submit" class="but btn-reset" name="stp" value="stop">

Обработка:

`foreach ($res as $key) {
  echo '<div class="container">
  <form method="POST">
  <input type="checkbox" name="id[]" value="'. $key['id'] .'">';
  echo ' <div class="func"><a href="info.php?id='.$key['id'].'">' .$key['name'] . '</a></div></div>
  ';
  if(isset($_POST['str'])){
   
    $qq = $dbh->prepare("UPDATE miners_data SET com = :com WHERE id = :id");
    $qq->execute([
      'com' => $data['str'],
      'id' => $key['id']
    ]); 

  }
  if(isset($_POST['stp'])){
     
    $qq = $dbh->prepare("UPDATE miners_data SET com= :com WHERE id = :id");
    $qq->execute([
      'com' => $data['stp'],
      'id' => $key['id']
    ]);

} }`

Что не так, где намудрил?


Ответы (1 шт):

Автор решения: liebeSonne

вероятно $data = $_POST;

не хватает только проверки $_POST['id'] или $data['id'], ведь сейчас обновляются все $key['id'] в цикле

например: if(isset($_POST['str']) && in_array($key['id'], $_POST['id'])) {

→ Ссылка