我已经看到很多解决方案(所有这些对我来说都不起作用)使用复选框输入来选择和删除数据库表中的多行,所以我也尝试了一个无线电输入来只选择一个
它仍然无效,并且没有使用error_reporting(E_ALL);
和init_set('display errors', 1);
任何建议或见解都会非常感激,因为我是PHP的新手。
$sql = "SELECT id, name, phone, email, website, how, reg_date FROM myTable";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<table><thead><th></th><th>ID</th><th>Name</th><th>Phone</th><th>Email</th><th>Website</th><th>Hearsay</th><th>Last Updated</th><th>Update?</th></thead><tbody>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td><input type=\"radio\" id=\"radio\" name=\"radio\" value=\"<?php echo \$row['id']?>\"></td><td>" .$row["id"]."</td><td>".$row["name"]."</td><td>".$row["phone"]."</td><td>".$row["email"]."</td><td>".$row["website"]."</td><td>".$row["how"]."</td><td>".$row["reg_date"]."</td><td><a href=\"update.php?id=".$row['id']."\">Update</a></td></tr>";
}
echo "</tbody></table>";
} else {
$msgwindow = "0 results";
}
if(isset($_POST['delete'])) { //check if you received the post
$stmt = $conn->prepare("DELETE FROM myTable WHERE id = ?");
$stmt->bind_param('s', $radio);
$radio = $_POST['radio'];
$stmt->execute();
$stmt->close();
$msgwindow = "Success: Record Deleted";
}
else{
$msgwindow = "Error";
}
$conn->close();
要突出显示,这是单选按钮的输入:
<input type=\"radio\" id=\"radio\" name=\"radio\" value=\"<?php echo \$row['id']?>\">
表单(位于另一个PHP文件中,使用include调用此文件)似乎确认按下了删除按钮,但没有任何反应。
<form name="form1" method="POST" action="">
<?php include('myTableData.php'); ?>
<input type="submit" name="delete" value="Delete Selected Data" id="delete">
</form>
答案 0 :(得分:2)
你已经在PHP中了,你正在使用PHP标签和回声
value=\"<?php echo \$row['id']?>\">
以及while
循环内部。
从中删除<?php echo
和?>
。
将其更改为:
value='".$row["id"]."'>
或
value=\"" . {$row['id']} . "\">
我很惊讶错误报告没有抛出/捕获语法错误。
但是,您将在下面单独显示另一段代码:
<input type=\"radio\" id=\"radio\" name=\"radio\" value=\"<?php echo \$row['id']?>\">
如果你不在PHP中,那么你需要从中删除所有\
斜杠。
<input type="radio" id="radio" name="radio" value="<?php echo $row['id']?>">
答案 1 :(得分:0)
<强> HTML:强>
<input type="radio" name="db_trnas" value="Add" />Add
<input type="radio" name="db_trnas" value="Delete" />Delete
<强> PHP:强>
<?php if(isset($_POST['db_trans'])){
if($_POST['db_trans']=='add'){
//do db insert stuff
} else if($_POST['db_trans']=='delete'){
// do db delete stuff
}
} ?>
答案 2 :(得分:0)
使用隐藏字段并在提交时获取隐藏字段值 \“/&GT;
if(isset($_POST['hdnId'])) { //check if you received the post
}