【发布时间】:2014-01-28 08:56:59
【问题描述】:
我正在努力编写一个代码,如果我选择一个复选框并按下删除,它将删除一个查询。
更新:按照你们的建议更新了代码,只是现在不起作用 是当复选框选中并提交时,它不会删除查询
这是我的时间:
$query="SELECT id,datum,titel,artikel FROM nieuws ORDER BY id DESC";
$result=mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo ("<div id=\"artikeltitel\" align=\"center\">
<div id=\"containerdatum\">".$row['datum']."</div>
<div id=\"containertitel\">".$row['titel']."</div>
<div id=\"container3\" style=\"font-size:12px;\">".$row['id']."
<input type=\"checkbox\" name=\"checkbox[]\" id=\"checkbox\" value=\"".$row['id']."\" />
</div>
</div>
<div class=\"container\" align=\"center\">
<h2 class=\"acc_trigger\"><a href=\"#\"> » </a></h2>
<div class=\"acc_container\">
<div class=\"block\">".$row['artikel']."</div>
<div class=\"fb-comments\" data-href=\"http://www.zpb-polonez.be/user.php\" data-num- posts=\"10\" data-width=\"678\" style=\"margin-top:2px;\"></div>
</div>
</div>
");
} 这是我读我的sql的部分,不知道是否一切正常,大部分代码 我抄袭了我在学校学到的其他作品
require_once("inc/connection.php");
mysql_select_db("nieuws");
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$id = $_POST['id'];
$datum = $_POST["datum"];
$titel = $_POST["titel"];
$artikel = $_POST["artikel"];
$checkbox = $_POST["checkbox"];
$titel = mysql_real_escape_string(nl2br(htmlentities($_POST["titel"])));
$artikel = mysql_real_escape_string($_POST["artikel"]);
$id = mysql_real_escape_string($_POST['id']);
date_default_timezone_set('GMT');
$datum = date('Y-m-d', strtotime(str_replace('-', '/', $datum)));
if(isset($_POST['add'])){
if(!empty($_POST['titel']) && !empty($_POST['artikel']) && !empty($_POST['datum'])){
$query="INSERT INTO nieuws (id,datum,titel,artikel) VALUES ('$id','$datum','$titel','$artikel')";
$datum = date('Y-m-d', strtotime(str_replace('-', '/', $datum)));
str_replace('<br />', "\n", $textarea);
$result=mysql_query($query);
header("location: user.php");
$juist1 = true;
}else{
$fout1 = true;
}
}if(isset($_POST['delete'])){
foreach($_POST['checkbox'] as $del_id){
$del_id=$checkbox;
$sql="DELETE FROM nieuws WHERE id='$del_id'";
$result = mysql_query($sql);
header("location: user.php");
}
}
}
已经提交了
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">
<input type="submit" name="delete" value="verwijderen" />
</form>
【问题讨论】:
-
hmm.. 你是在结合 while 和 elseif 吗? elseif 可以在 if.. 之后使用,而不是在一段时间之后使用。 while 循环是否放在 if 语句中?
-
不,在 elsif 之前有一个 if 但我只复制了这部分,没有 while 循环不在 if 语句中,就像我告诉 php 不是我的专长 :-)
-
header("位置:user.php");应该在forloop之后
-
快速浏览一下,我注意到 id=\"checkbox\" 被多次使用(当有多个复选框时)。 ID 必须是唯一的(虽然这不能解决问题,但您可以在下面找到答案)
-
您是否有义务“删除”。你能发出一个 UPDATE 来代替将标志设置为“隐藏”吗?