【发布时间】:2015-11-16 01:32:40
【问题描述】:
我有 2 个 MySQL 表,它们有 2 个相同的列,一个是 temptable,另一个是 permanenttable。我以表格的形式将temptable 的内容显示到php 表单中。在这种形式中,我希望对于每个条目,我应该有 2 个选项,Approve 和 Revoke。我想要做的是,如果我点击Approve,temptable 中的那一行的数据会移动到permanenttable,或者如果我点击Revoke,temptable 中的那一行就会被删除。
我不知道如何实现它。这是表单的样子:
我最初尝试做的是单击批准,我处理 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