@yanich

Почему UPDATE обновляет последнюю запись в таблице?

Здравствуйте. Стоит задача обновлять записи из формы, но почему то обновляется только последняя запись в базе.5c55bcdd99fef291646973.png
В таблицу вывожу через foreach
<?php foreach ($linky as $ln): ?>
                    <tr>
                      <td><?php echo $ln['id']; ?></td>
                      <td><?php echo $ln['mag']; ?></td>
                      <td><?php echo $ln['link']; ?></td>
                      <td>
                       <form action="" method="post">
                         <input type="text" name="linkk" >
                         <input type="submit" value="Сохранить">
                       </form>
                    </tr>
          <?php endforeach ?>

Потом у меня идет формирование запроса
if (isset($_POST['linkk'])) {
                 $link = htmlentities(mysqli_real_escape_string($connection, $_POST['linkk']));
                 $nlink ="UPDATE linky SET link='$link' where id=" . $ln['id']."";
                 $result = mysqli_query($connection, $nlink) or die("Ошибка " . mysqli_error($connection));
              }

И вроде бы все работает, но только обновляется только последняя запись.
Подскажите, что не так сделано.
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
gordon_shamway
@gordon_shamway
<?php foreach ($linky as $ln): ?>
                    <tr>
                      <td><?php echo $ln['id']; ?></td>
                      <td><?php echo $ln['mag']; ?></td>
                      <td><?php echo $ln['link']; ?></td>
                      <td>
                       <form action="" method="post">
                         <input type="text" name="linkk" >
                          <input type="hidden" name="id" value="<?php echo $ln['id']; ?>" >
                         <input type="submit" value="Сохранить">
                       </form>
                    </tr>
          <?php endforeach ?>


if (isset($_POST['linkk'])) {
                 $link = htmlentities(mysqli_real_escape_string($connection, $_POST['linkk']));
                 $nlink ="UPDATE linky SET link='$link' where id=" . $_POST['id']."";
                 $result = mysqli_query($connection, $nlink) or die("Ошибка " . mysqli_error($connection));
              }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы