2016-12-31 2 views
-2

Я создал таблицу, в которой пользователи выгружаются из базы данных. У каждого пользователя есть строка, а рядом с ним есть кнопка для удаления пользователя из базы данных. Проблема в том, что я не знаю, как сделать, чтобы действительно удалить конкретного пользователя из базы данных, когда я нажимаю на определенную кнопку. Я понятия не имею, как это сделать.PHP - Как удалить пользователя из базы данных MySQL

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> 
<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"pl-PL\"> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=utf-8"> 
    <title>Rezultat zapytania</title> 
    <style> 
    #container { 
     max-width: 1000px; 
    } 
    </style> 
</head> 

<body> 

<div id="container"> 
    <table width="1000" align="center" border="1" bordercolor="#d5d5d5" cellpadding="0" cellspacing="0"> 
     <tr> 
     <?php 
     require_once "connect.php"; 
     $baza = @new mysqli($host, $db_user, $db_password, $db_name); //Połączenie z bazą danych 
     $sql = "SELECT id, user, pass, email FROM users"; 
     $result = $baza->query($sql); 
     $ile = mysqli_num_rows($result); 

     echo "znaleziono: ".$ile."<br /><br />"; 
if ($ile>=1) 
{ 
echo<<<END 
<td width="50" align="center" bgcolor="e5e5e5"></td> 
<td width="50" align="center" bgcolor="e5e5e5">IDUsera</td> 
<td width="20" align="center" bgcolor="e5e5e5">NazwaUsera</td> 
<td width="20" align="center" bgcolor="e5e5e5">HasloUsera</td> 
<td width="20" align="center" bgcolor="e5e5e5">EmailUsera</td> 
</tr><tr> 
END; 
} 

    for ($i = 1; $i <= $ile; $i++) 
    { 

     $row = mysqli_fetch_assoc($result); 
     $a1 = $row['id']; 
     $a2 = $row['user']; 
     $a3 = $row['pass']; 
     $a4 = $row['email']; 

echo<<<END 
<td width="50" align="center"><a class="button_red" href="delete_user.php">Delete</a></td> 
<td width="50" align="center">$a1</td> 
<td width="100" align="center">$a2</td> 
<td width="100" align="center">$a3</td> 
<td width="100" align="center">$a4</td> 
</tr><tr> 
END; 

    } 


?> 


</tr></table> 
</div> 


</body> 
</html> 
+3

Основной синтаксис: 'DELETE FROM таблицы WHERE col_x =' - Пробовали ли вы/искать что-нибудь? * Честно говоря, теперь *. Редактировать: Это вопрос; Надеюсь, вам ответят (вы). Вы тоже? –

+0

Вы можете выполнить al hard delete, как упоминалось в @ Fred-ii-, но также вы можете создать столбец с именем deleted, когда значение == 1 вы не увидите в результатах. –

+0

Вам нужно передать идентификатор 'delete_user.php', используя' $ _GET' или '$ _POST'. Поскольку вы используете '' тег, это будет '$ _GET' – Rasclatt

ответ

0
// create a <td> tag in <tr> 
<td><a href="del.php?user_id={$id}">DEL USER</a></td> 

/* del.php */ 

$user_id = $_GET['user_id']; 
// you can add a sql injection filter 
$sql = 'DELETE FROM table WHERE user_id = {$user_id}'; 
$result = $baza->query($sql); 
+1

это неверно, и вы также оставляете их открытыми для SQL-инъекций. OP использует mysqli_ api, а не mysql_; эти разные apis не смешиваются. Вам нужно настроить свой ответ. Редактировать: Этот комментарий в соответствии с оригинальным ответом http://stackoverflow.com/revisions/41409777/1 –

+0

Да, точно так же, как и я, и он работает! :) – nielot

Смежные вопросы