Я новый программист PHP. Я создал страницу входа в систему, где я могу просмотреть список пользователей, которые вошли в систему. Я использую PDO для подключения базы данных. Проблема в том, что если я хочу удалить пользователя из списка, он удалит только последнего вставленного пользователя. Что я делаю неправильно? Может кто-то пожалуйста, помогите мне ...Как удалить пользователя из базы данных MySQL
Вот мой HTML код:
<form action="" method="post">
<?php
foreach($rows as $row){
$time = $row['time_out'];
echo "
<input type='text' value='$row[user_name]' name='user_name'>
<input type='text' value=' $row[course]' name='course'>
<input type='text' value=' $time'>
<input type='submit' value='submit' name='submit'>
<br>";
}
?>
</form>
if(isset($_POST['submit'])){
//get course
$course = $_POST['course'];
//get user_name
$user_name = $_POST['user_name'];
//deleting user from the database
$database->delete($user_name);
//Redirect to current page
header('Location: tutor.php');
exit;
}
Вот мой метод для получения зарегистрированного пользователя:
public function selectFromOnline()
{
$sql = $this->connection()->prepare("SELECT * FROM online");
$sql->execute();
return $sql->fetchAll();
}
Вот мой метод для удаления пользователя:
public function delete($user_name)
{
$sql = $this->connection()->prepare("DELETE FROM online WHERE user_name = :user_name");
$sql->bindValue(':user_name', $user_name, PDO::PARAM_STR);
$sql->execute();
return $sql;
}
Вопросы о проблемах с кодом, который вы написали, должна описать конкретную проблему: d включить действительный код для его воспроизведения. Вы не описываете свою проблему. См. [SSCCE.org] (http://sscce.org/) для руководства. – Kermit
Посмотрите на HTML, который вы создаете. У каждого пользователя есть скрытое поле, называемое user_name; и вашему коду будет передан только один параметр с именем user_name, который будет последним, если у вас есть два поля с тем же именем, более ранние из них переписаны более поздними. – andrewsi
В качестве быстрого исправления попробуйте включить теги