使用PHP中的无线电输入选择和删除数据行

时间:2015-07-22 04:32:36

标签: php mysql

我已经看到很多解决方案(所有这些对我来说都不起作用)使用复选框输入来选择和删除数据库表中的多行,所以我也尝试了一个无线电输入来只选择一个

它仍然无效,并且没有使用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>

3 个答案:

答案 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


    }