[英]Delete button for each table row
我設法使用以下代碼成功地從我的數據庫中讀取和顯示數據: http : //pastebin.com/rjZfBWZX我還為表的每一行生成一個刪除按鈕:)單擊刪除按鈕調用“obrisi.php”應該刪除該行,但我搞砸了一些東西:S這里是obrisi.php代碼:
我收到一個Parse錯誤:語法錯誤,意外'FROM'(T_STRING):S
讓我們試着用_GET而不是_POST來做。
在主代碼中,您需要更改第39行(輸入):
echo "<td>" . " <input type='submit' id= '$id' . ' value='Delete' >" . "</td>";
至:
echo "<td><a href='obrisi.php?id=$id'>Delete</a></td>";
在你的obrisi.php更改第3行(id設置)中:
$id = $_POST['id'];
至:
$id = $_GET['id'];
最后作為一個很好的補充,通過在關閉php標記之前在obrisi.php文件的末尾添加以下行來重定向回主頁面。
header('location:index.php');
其中index.php是您擁有的主頁面的名稱。
echo "<td>" . " <input type='submit' id= '$id' . ' value='Delete' >" . "</td>";
這里有一些簡單的錯誤 這將輸出($ id = 1):
<td><input type='submit' id= '1' . ' value='Delete' ></td>
這條線應該更正為
echo '<td><input type="submit" id="' . $id . '" value="Delete" ></td>';
這也是錯的。
echo "<form action="obrisi.php" method="post">";
應該是這樣的:
echo '<form action="obrisi.php" method="post">';
但主要問題是帖子中沒有給出字段ID。 提交時不會發送html元素的id。 它基本上是在HTML結構中標識該元素。
當使用提交按鈕時,您必須將表單的范圍限制為該行並使用隱藏的輸入字段,或使用類似於thanpa建議的鏈接
澄清:如果你想用帖子做(但我會建議使用$ _GET)
while ($row = mysqli_fetch_array($result) )
{
$id = $row['id'];
echo "<tr>";
echo '<form action="obrisi.php" method="post">';
echo "<td>" . $row['Ime'] . "</td>";
echo "<td>" . $row['Prezime'] . "</td>";
echo "<td>" . $row['Grad'] . "</td>";
echo "<td>" . $row['Drzava'] . "</td>";
echo "<td>" . $row['Obavijesti'] . "</td>";
echo "<td>" . $row['Tekst'] . "</td>";
echo "<td>"
echo '<td><input type="hidden" name="id" value="' . $id . '"/><input type="submit" value="Delete" ></td>';
echo "</form>
echo "</tr>";
}
並從腳本的開頭和結尾刪除表單的echo。
作為一個額外的注釋,如果這將在某個時候在實時系統中使用,你需要在obrisi.php中檢查$ id,它實際上是一個ID,而不是像sql一樣令人討厭和意外,查找sql注入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.