【问题标题】:How to run specific queries from a list of queries in a table from HTML-PhP如何从 HTML-PhP 的表中的查询列表中运行特定查询
【发布时间】:2015-11-16 01:32:40
【问题描述】:

我有 2 个 MySQL 表,它们有 2 个相同的列,一个是 temptable,另一个是 permanenttable。我以表格的形式将temptable 的内容显示到php 表单中。在这种形式中,我希望对于每个条目,我应该有 2 个选项,ApproveRevoke。我想要做的是,如果我点击Approvetemptable 中的那一行的数据会移动到permanenttable,或者如果我点击Revoketemptable 中的那一行就会被删除。 我不知道如何实现它。这是表单的样子:

我最初尝试做的是单击批准,我处理 SQL 查询,然后重定向回此页面,当此页面再次打开时,我们按下按钮的行被删除(因为取自temptable)。

我很容易使用 SQL 查询,但我不明白如何将数据传递到下一个 php 文件以便我可以识别要处理的行。

此外,关于如何实现这一点的任何其他建议都将非常有帮助!

编辑 1:尝试过的代码 - 表单:

    $query = "SELECT * from adddoctor";
    $result = mysqli_query($conn,$query);
    $i = 0;
    while($row = mysqli_fetch_assoc($result)){
        $pusername = $row['pusername'];
        $dusername = $row['dusername'];
        echo "<tr>";
        echo "<td>".$pusername."</td>";
        echo "<td>".$dusername."</td>";
        echo "<form method = \"post\" action=\"approve.php\"">";
        echo "<td><input name=\"Approve".md5($pusername + $dusername)."\" type=\"submit\" value=\"Approve\"/></form>";
        echo "<form method = \"post\" action=\"revoke.php\">";
        echo "<input name=\"Revoke".md5($pusername + $dusername)."\" type=\"submit\" value=\"Revoke\"/></td></form>";
        echo "</tr>";
        ++$i;
    }

批准:

$query = "Select * from adddoctor";
        $result = mysqli_query($conn,$query);
        while($row = mysqli_fetch_assoc($result)){
            $pusername = $row['pusername'];
            $dusername = $row['dusername'];
            $hash =  md5( $pusername + $dusername);
            $hash = "Approve" + $hash;
            if(isset($_POST[$hash])){
                $query = "INSERT INTO pdmap values('$pusername','$dusername')";
                $result2 = mysqli_query($conn,$query);
                $query = "Delete from adddoctor where pusername = '$pusername' and dusername = '$dusername'";
                $result2 = mysqli_query($conn,$query);
            }
        }   

【问题讨论】:

  • 您可以使用 PHP 会话。
  • @gladsocc 你能详细说明一下吗?
  • @SahilArora 您可以将每一行设为 HTML 表单,然后使用 POST 执行您需要的操作(将两个按钮视为提交,但对每个按钮执行不同的操作)。您是否尝试过任何代码?如果是这样,请与我们分享! :)
  • @Qirel 我也试过了。贴出代码!

标签: javascript php html mysql sql-server


【解决方案1】:

不要使用+ 在php 中使用. 连接。在 php 'text' + 'text' = 0 我认为你混淆了 javascript 和 php。

表格:

$query = "SELECT * from adddoctor";
$result = mysqli_query($conn,$query);
$i = 0;
while($row = mysqli_fetch_assoc($result)){
    $pusername = $row['pusername'];
    $dusername = $row['dusername'];
    echo "<tr>";
    echo "<td>".$pusername."</td>";
    echo "<td>".$dusername."</td>";
    echo "<form method = \"post\" action=\"approve.php\"">";
    echo "<td><input name=\"Approve".md5($pusername . $dusername)."\" type=\"submit\" value=\"Approve\"/></form>";
    echo "<form method = \"post\" action=\"revoke.php\">";
    echo "<input name=\"Revoke".md5($pusername . $dusername)."\" type=\"submit\" value=\"Revoke\"/></td></form>";
    echo "</tr>";
    ++$i;
}

批准:

$query = "Select * from adddoctor";
$result = mysqli_query($conn,$query);
while($row = mysqli_fetch_assoc($result)){
    $pusername = $row['pusername'];
    $dusername = $row['dusername'];
    $hash =  md5( $pusername . $dusername);
    $hash = "Approve" . $hash;
    if(isset($_POST[$hash])){
        $query = "INSERT INTO pdmap values('$pusername','$dusername')";
        $result2 = mysqli_query($conn,$query);
        $query = "Delete from adddoctor where pusername = '$pusername' and dusername = '$dusername'";
        $result2 = mysqli_query($conn,$query);
    }
}   

【讨论】:

  • 非常感谢。弄乱了语法。现在工作得很好!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-02
  • 2021-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多