试图获取一个PHP按钮来删除MySQL行

时间:2014-12-01 20:51:52

标签: php mysql

编辑:为viewProblems添加了整个代码,实际的凭据信息只是***。

我一直在努力做到这一点,我无法弄明白。我想要的是每行末尾的按钮(按钮显示正确),允许我从MySQL数据库和页面中删除该行(但不删除任何内容)。我的代码如下:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="description" content="">
        <meta name="author" content="">

    <title>View Problems</title>

    <!-- Bootstrap core CSS -->
    <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
</head>

<body>

    <div class="well">
        <div class="container">
            <div class="page-header">
                <h1>Jimmy's Laundry</h1>
            </div>
        <ol class="breadcrumb">
              <li><a href="index.html">Home</a></li>
              <li><a href="login.html">Login</a></li>
              <li><a href="adminPage.php">Admin page</a></li>
        </ol>
        </div>
    </div>

        <?php
        $servername = "***";
        $username = "***";
        $password = "***";
        $dbname = "***";
        // Create connection
        $conn = new mysqli($servername, $username, $password, $dbname);
        // Check connection
        if ($conn->connect_error) 
        {
             die("Connection failed: " . $conn->connect_error);
        }

        $sql = "SELECT problem_id, machine_id, description FROM tbl_problem";
        $result = $conn->query($sql);
        if ($result->num_rows > 0)
        {
            echo '<table class="table table-hover"><tr><th>Problem ID</th><th>Machine Number</th><th>Problem Description</th><th>     </th></tr>';

            while($row = $result->fetch_assoc())
            {
                echo "<tr><td>" . $row['problem_id']. "</td><td>" . $row['machine_id']. "</td><td>" . $row['description']. "</td><td><form action='deleteProblem.php?name=" . $row['problem_id']."' method= 'post'><input type='hidden' name='id' value=".$row['problem_id']."><input class ='btn btn-danger' type='submit' name='submit' value='Resolved?'></form></td></tr>";
            }
            echo "</table>";

        }
        else
        {
            echo "There are no problems! :)";
        }
        ?>
            </table>
</body>

对于我的主页,viewProblems.php。我的deleteProblem.php页面如下:

<?php
$query= "DELETE FROM tbl_problem WHERE problem_id={$_POST['id']}";
mysql_query ($query);
if (mysql_affected_rows() == 1)
{
    echo "<strong>Row has been deleted</strong>"
}
else
{
    echo "<strong>Deletion Failed</strong>"
}?>

我一直在浏览这个网站和谷歌,我正试图让它发挥作用,但它不会。页面正确加载表格,但是当我点击按钮时,它会将我从website / viewProblems.php带到website / deleteProblem.php?name = 9(或10,11,12,13,具体取决于我按哪个按钮)但页面只是空格,数据库不会更新。

任何帮助都将不胜感激。

P.S。我知道mySQL_方法已经过时了,但我们必须使用它们。

1 个答案:

答案 0 :(得分:2)

删除该行的脚本是在单独的请求中执行的单独脚本。因此,它与生成页面的请求完全隔离,如果要查询或删除数据,则必须建立新的数据库连接。

在您目前的情况下,您没有建立连接,这就是删除声明失败的原因。