簡體   English   中英

刪除每個表行的按鈕

[英]Delete button for each table row

我設法使用以下代碼成功地從我的數據庫中讀取和顯示數據: http//pastebin.com/rjZfBWZX我還為表的每一行生成一個刪除按鈕:)單擊刪除按鈕調用“obrisi.php”應該刪除該行,但我搞砸了一些東西:S這里是obrisi.php代碼:

http://pastebin.com/mrFy1i7S

我收到一個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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM