[英]why delete button keeps deleting latest row php
您好,即時通訊正在嘗試使用與php連接的確認腳本進行刪除,但它始終會從我輸入的最新行中刪除,即時通訊已經在網上搜索了如何解決該問題,但是我似乎仍然不太了解其工作原理,這是我的代碼
<?php
$query = "SELECT * FROM mspartner";
$sql=mysql_query($query);
?>
<table class="show_data" id="partner">
<tr>
<td>Partner ID</td>
<td>Partner name</td>
<td>addresses</td>
<td>Image</td>
<td>Delete/Edit</td>
</tr>
<?php
while($fetch=mysql_fetch_array($sql)){
?>
<tr>
<td> <?php echo $fetch['partnerID']; ?></td>
<td style="width:100px;"><?php echo $fetch['partnername']; ?></td>
<td><?php echo $fetch['address']; ?></td>
<td><?php echo $fetch['image']; ?></td>
<td>
<script>
function confirmation(){
var message = "are you sure?";
var konfirmasi = confirm(message);
if(konfirmasi == true) {
window.location="index.php?delete_partner=<?php echo $fetch['partnerID']; ?>";
}
else {
}
}
</script>
<input type="image" class="icon" src="images/asset/delete.jpg" onClick="confirmation() ">
這是我的PHP刪除代碼
<?php
$id = $_GET['delete_partner'];
$sql="DELETE FROM `mspartner` WHERE `partnerID` = '$id' ";
echo $sql;
$query = mysql_query($sql);
header('Location:index.php?partner');
?>
謝謝你的幫助
您一直用新的confirmation
功能替換您的confirmation
。
因此,無論何時運行,它只會運行最后一次迭代。
嘗試像這樣創建確認功能(通過傳入ID):
function confirmation(id){
var message = "are you sure?";
var konfirmasi = confirm(message);
if(konfirmasi) {
window.location="index.php?delete_partner=" + id;
}
else {
// something else
}
}
側面點:
不再支持
mysql_*
函數,它們已被正式棄用 , 不再維護 ,以后將被刪除 。 您應該使用PDO或MySQLi更新代碼,以確保將來項目的功能。
您只需在頁面末尾編寫一次確認js函數。 最好將它寫在一個單獨的js文件上,但這是另一個問題。 使確認功能采用一個參數,該參數具有要刪除的記錄的ID。
用以下代碼替換調用該函數的代碼:
onClick="confirmation('<?php echo $fetch['partnerID']; ?>')"
您的新確認功能應為:
function confirmation(recordId){
var message = "are you sure?";
var konfirmasi = confirm(message);
if(konfirmasi == true) {
window.location="index.php?delete_partner=" + recordId;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.