我對如何從頁面中的函數中刪除數據庫中的特定行感到頭疼。這是我卡住的地方:我知道我必須使用行中的特定ID,所以我把我的$ id放在while循環中,並且在這裏我被卡住了。因爲我不知道如何從特定行中檢索該ID。在每一行中,都有一個「提交」按鈕來刪除它。有人可以幫助我?如何在php函數中刪除頁面中的mySQL中的特定行
在我的其他網頁時,我把這些2個功能:
<input type="hidden" name="id" value="'.$id.'">
當然這的
:
<?php
session_start();
include_once('connect.php');
$object = new User;
if(isset($_POST['supprimer'])) {
$object->supprimer($id);
}
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="public/css/layout.css">
</head>
<body>
<?php $object->showConcessionnaire(); ?>
</body>
</html>
PHP
public function showConcessionnaire(){
$st = $this->db->prepare("SELECT * FROM `phplogin`.`users` WHERE type='Concessionnaire'");
$st->execute();
echo '<form action="supprConc.php" method="post">
<table class="tableCredit">
<tr class="">
<th>Date</th>
<th>Nom d\'utilisateur</th>
<th>Mot de pass</th>
<th>E-mail</th>
<th>Créé par</th>
<th></th>
<th></th>
</tr>
';
while($r = $st->fetch(PDO::FETCH_ASSOC)){
$id = $r['ID'];
echo '<tr class="lightGray">
<td>'.$r['Date'].'</td>
<td>'.$r['username'].'</td>
<td>'.$r['password'].'</td>
<td>'.$r['E-mail'].'</td>
<td>'.$r['Creer par'].'</td>
<td></td>
<td><input type="submit" name="supprimer" value="X" class="logout"></td>
</tr>';
}
echo '</table></form>';
}
public function supprimer($id){
$st = $this->db->prepare("DELETE FROM `phplogin`.`users` WHERE `users`.`id` = '$id'");
$st->execute();
}
你需要給你的提交按鈕賦予不同的值,你的代碼看起來並沒有這樣做。 – Maximus2012
此外,我不知道你是如何調用supprimer($ id)函數,因爲這個函數的唯一引用似乎是你的提交按鈕的名稱,顯然不會工作。 – Maximus2012
旁註:我注意到你的'Creer par'列中有一個空格。如果您沒有考慮到在先前的查詢中需要使用反引號來包裝列(有空格),請查看該列。它不會解決你的問題,我只是說。 * Plus *,連字符也應該改爲強調「電子郵件」。 SQL可能會因爲想要執行一個數學方程而變得不合時宜。 –