MSQLIを使用して画面からレコードを削除する際に問題が発生しました。ここで私が使用しているコードを見ることができます。
<?php
include_once("assets/classes/connection.php");
include_once("assets/classes/article.class.php");
while($test = $allArticles->fetch_assoc())
{
if($test['titel']=="")
{
echo "<div class='zonderfoto'>";
echo "<h5>"."geen titel hier, aparte opmaak geslaagd" . "<br /></h1>";
echo "<p>" . $test['article'] . "</p>";
echo "<input type='submit' name='verwijderee' value='verwijder'>";
echo "</div>";
}
else
{
echo "<div class='metfoto'>";
echo "<h1>".$test['titel'] . "<br /></h1>";
echo "<p>" . $test['article'] . "</p>";
echo "<form method='post' action=''>";
echo "<input type='submit' name='verwijder' value='verwijder'>";
echo "</form>";
echo "<h1>".$test['id']."</h1>";
echo "</div>";
}
}
$vArticle = new Article;
$vArticle -> Key = $test['id'];
if (isset($_POST['verwijder']))
{
$vArticle -> deleteArticle();
echo ("shit");
}
?>
while関数を使用して、すべてのDBレコードを画面に出力しています。if関数は、cssを使用してデザインを提供するための関数であり、それ以上のものはありません。削除ボタンを使用して、画面からレコードを削除します。$ test ['id']変数を使用すると、DB内のレコードのIDを受け取ります
これがクラスのコードです。
public function deleteArticle()
{
include("connection.php");
$sSql = "DELETE FROM tblArticles WHERE id = '".$this->m_sKey."'";
if (!$mysqli -> query($sSql))
{
throw new Exception("Something went wrong");
}
}
編集
キーに問題があります。whereステートメントをtitle=""に置き換えたため、データベース内の1つのタイトルを削除し、[削除]をクリックすると、1つの行が削除されましたが、実行時に発生しません。だから私は削除をクリックし、1行を削除しましたが、コンテンツはページの更新でのみ消えます。解決策はajaxを使用していますか?