Как сделать так, чтобы «кнопка удаления» не удаляла последнюю запись с помощью PHP - PullRequest
0 голосов
/ 03 марта 2019

Мой код удаляет последнюю строку вместо удаления собственной строки, что делать?Я перепробовал все, что могу, но это не работает, пожалуйста, пришлите помощь.

  $sql = "SELECT id, name, ArticleTitle, Article FROM article";

  if ($result = $conn->query($sql))
   {
   // output data of each row
   while($row = $result->fetch_assoc()) {

    echo "<tr><td>" . 
    $row["id"]. "</td><td>"  ."<input type=hidden name=id value=". 
    $row["id"].">".
    $row["name"] . "</td><td>" . 
    $row["ArticleTitle"]. "</td><td>" .
    $row["Article"] ."</td><td>" .
    "<a href=connection.php id=".$row["id"]."><button>View</button></a>". "</td><td>".
    "<button type=submit name=login_user>Delete</button>" .


    "</td></tr> " ;
    // href="copytrade.php?id=$_GET['id']


}

echo "</form></table>";

и вот мой connection.php скрипт

 if (isset($_POST['login_user'])) {
      $id = mysqli_real_escape_string($conn, $_POST['id']);

       if (empty($id)) {
        array_push($errors, "ID is required");
      }

    // sql to delete a record
     if (count($errors) == 0) {
        $query = "DELETE FROM article WHERE id='$id'";
        $results = mysqli_query($conn, $query);
    }
    if ($conn->query($query) === TRUE) {
        echo "Record deleted successfully";
    }
}

1 Ответ

0 голосов
/ 03 марта 2019

Вам понадобится только один скрытый идентификатор поля (в настоящее время у вас есть один для каждой строки).Вы установите его значение в качестве идентификатора удаляемого клика перед отправкой формы.То, как вы делаете это сейчас, отправляет каждый идентификатор с одинаковым значением на страницу через $ _POST, а последний переопределяет все остальные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...