我在html中创建了一个表,它接收数据库条目。现在我希望能够编辑和删除条目。因此,如果单击X按钮,则必须删除所选行。我知道我需要通过SQL查询来执行此操作,以便表根据数据库条目进行更改。但是我怎么能这样做,因为它需要知道哪一行属于那个特定的删除按钮?
<div id="customers">
<table id="customerTable">
<tr>
<td>First Name</td>
<td>Last Name</td>
<td>Company</td>
<td>Adress</td>
<td>Wijzig</td>
<td>Verwijder</td>
</tr>
<?php
//connect to database
include_once('mysql_connect.php');
// Select database
mysql_select_db("etn207") or die(mysql_error());
// SQL query
$strSQL = "SELECT * FROM customer";
// Execute the query (the recordset $rs contains the result)
$rs = mysql_query($strSQL);
// Loop the recordset $rs
// Each row will be made into an array ($row) using mysql_fetch_array
while($row = mysql_fetch_array($rs)) {
// Write the value of the column FirstName (which is now in the array $row
echo '<tr>';
echo '<td>'."<center>".$row['firstname']."<br>"."</center>".'</td>';
echo '<td>'."<center>".$row['lastname']."<br>"."</center>".'</td>';
echo '<td>'."<center>".$row['company']."<br>"."</center>".'</td>';
echo '<td>'."<center>".$row['adress']."<br>"."</center>".'</td>';
echo '<td>'."<center>".'<img src="images/edit.png" width="20px" height="20px" border=0>'."<br>"."</center>".'</td>';
echo '<td>'."<center>".'<img src="images/delete.png" onClick="" width="20px" height="20px" border=0>'."<br>"."</center>".'</td>';
echo '</tr>';
}
// Close the database connection
mysql_close();
?>
</table>
</div>
答案 0 :(得分:2)
将id作为隐藏值传递,并使用它来删除该特定行
<input type="hidden" name="id_to_be_deleted" value="<?php echo $id; ?>" />
现在只需在提交时检索此ID并从数据库中删除该行
<form method="post">
<input type="hidden" name="id_to_be_deleted" value="<?php echo $id; ?>" />
<input type="submit" name="delete_row" />
</form>
<?php
if(isset($_POST['delete_row'])) {
$id = $_POST['id_to_be_deleted'];
if(!mysqli_query($connection, "DELETE FROM table_name WHERE id = $id")) {
echo mysqli_error($connection);
} else {
//redirect $_SERVER['REQUEST_URI'];
}
}
?>
答案 1 :(得分:1)
您的数据库记录很可能具有唯一标识符(主键等);在删除按钮上创建链接时使用此唯一标识符:
echo '<a href="deleterecord.php?id=' . $yourUniqueidentifier . '"><img src="images/delete.png"></a>'
你也应该为你的代码使用其他建议,比如使用CSS而不是“center”标签,可能使用AJAX删除记录而没有完整的回发,在你的查询字符串中使用哈希来避免未经授权删除记录等等在,但这不是重点: - )