如何在PHP中使用按钮删除随机行?
更改此行:如何在PHP中使用按钮删除随机行?,php,Php,更改此行: <?php include("connection.php"); echo "Do you really want to DELETE this field? " ; ?> <form method="post"> <input type="submit" name="yes" value="YES" /> <?php $res = mysql_query("SELECT * FROM members"); while($row = mys
<?php
include("connection.php");
echo "Do you really want to DELETE this field? " ;
?>
<form method="post">
<input type="submit" name="yes" value="YES" />
<?php
$res = mysql_query("SELECT * FROM members");
while($row = mysql_fetch_array($res))
{
if(isset($_REQUEST['yes']))
{
$id=$row['id'];
echo $id;
mysql_query("DELETE from members WHERE id= '$id' ");
header("location: view.php");
}
}
?>
<input type="submit" name="no" value="NO" />
<?php
if(isset($_REQUEST['no']))
{
header("location: view.php");
}
?>
</form>
</body>
为此:
mysql_query("DELETE from members WHERE id= '$id' ");
将db connection作为第二个参数传递给mysql_query(),以从成员表中删除行:
mysql_query("DELETE FROM members WHERE id= '".$id."' ");
这里的DB connection是指您在connection.php文件中定义的内容:
mysql_query("DELETE from members WHERE id= '$id'" , $dbCon);
我希望这能解决你的问题 您的查询
SELECT*FROM members
未排序将以不可预测的顺序选择所有行
while
循环中的if
s将始终为true或false:
- 如果用户单击“是”按钮,表格的所有行将被删除,因为您没有退出
标题(“location:view.php”)后的code>代码>(请参阅)
- 如果用户单击“否”按钮,则while循环的每次迭代都不会执行任何操作
- 表单中有一个隐藏参数,其中包含要删除的字段的id
- 当用户提交表单时测试隐藏字段是否存在并已清理
- 不要选择表中的所有行
- 按主键安全删除行
- 调用
after退出
header(“location:view.php”)代码>
- 在循环内执行if时,如果值不变,则尽可能将其移到循环外
为什么人们还在使用mysql
函数?看在上帝的份上,请切换到mysqli
或pdo
。
$db_host="localhost";
$db_name="test";
$username="root";
$password="";
$dbCon=mysql_connect($db_host,$username,$password);
<?php
include("connection.php");
echo "Do you really want to DELETE this field? " ;
?>
<form method="post">
<input type="submit" name="yes" value="YES" />
<?php
if(isset($_REQUEST['yes']))
{
if(isset($_GET['delet']))
{
$id = $_GET['delet'];
$res = mysql_query("SELECT * FROM members WHERE id = '$id' ");
$row = mysql_fetch_array($res);
$did = $row['id'];
$dname = $row['name'];
$dphn = $row['phn'];
/*echo $did;
echo $dname;
echo $dphn;*/
$ins = "INSERT INTO del (mid,name,phn) values ('$did','$dname','$dphn')";
mysql_query($ins);
mysql_query("DELETE FROM members WHERE id = '$id' ");
header('location: view.php');
}
}
?>
<input type="submit" name="no" value="NO" />
<?php
if(isset($_REQUEST['no']))
{
header("location: view.php");
exit;
}
?>
</form>