Php 能够通过单击页面上的按钮删除数据,该按钮也会从数据库中删除数据
我的网页上的表格中有多个文本框,这些文本框是由用户填写的网站表格填充的。我有能够删除每一行的功能,以及编辑我的网站上显示的每一行数据。我遇到的问题是,只有表格的最后一行可以编辑/删除。例如,当我单击表第一行上的“删除”按钮时,它会出于某种原因删除最后一行,而不是第一行。此外,更新/编辑按钮也一样,只有最后一行可以修改,在我的网站上表的最后一行上方不能有任何内容 更多信息: form_id是我的数据库中的主键 我的代码:Php 能够通过单击页面上的按钮删除数据,该按钮也会从数据库中删除数据,php,html,button,edit,sql-delete,Php,Html,Button,Edit,Sql Delete,我的网页上的表格中有多个文本框,这些文本框是由用户填写的网站表格填充的。我有能够删除每一行的功能,以及编辑我的网站上显示的每一行数据。我遇到的问题是,只有表格的最后一行可以编辑/删除。例如,当我单击表第一行上的“删除”按钮时,它会出于某种原因删除最后一行,而不是第一行。此外,更新/编辑按钮也一样,只有最后一行可以修改,在我的网站上表的最后一行上方不能有任何内容 更多信息: form_id是我的数据库中的主键 我的代码: <?php $con = @mysql_connect("loc
<?php
$con = @mysql_connect("localhost","root","");
if (!$con){
die("Can not connect: " . mysql_error());
}
mysql_select_db("formsystem", $con);
if(isset($_POST['update'])){
$UpdateQuery = "UPDATE form SET form_name='$_POST[name]', form_description='$_POST[description]' WHERE form_id='$_POST[hidden]'";
mysql_query($UpdateQuery, $con);
};
if(isset($_POST['delete'])){
$DeleteQuery = "DELETE FROM form WHERE form_id='$_POST[hidden]'";
mysql_query($DeleteQuery, $con);
};
$sql = "SELECT * FROM form";
$myData = mysql_query($sql,$con);
echo "<table>
<tr>
<th>Title</th>
<th>Description</th>
<th></th>
<th></th>
<th></th>
</tr>";
while($record = mysql_fetch_array($myData)){
echo "<form action=findGroup.php method=post>";
echo "<tr>";
echo "<td>" ."<input type=text name=name value='" . $record['form_name'] . "'/> </td>";
echo "<td>" ."<input type=text name=description value='" . $record['form_description'] . "'/> </td>";
echo "<td>" ."<input type=hidden name=hidden value='" . $record['form_id'] . "'/></td>";
echo "<td>" ."<input type=submit name=update value='update" . "'/> </td>";
echo "<td>" ."<input type=submit name=delete value='delete" . "'/> </td>";
echo "</tr>";
}
echo "</table>";
?>
首先,检查以下潜在问题:
您正在以root用户身份连接。不推荐。您应该以MySQL用户的身份连接,在该表上拥有M.a.D权限(修改、添加、删除)
您是否检查过MySQL和system/PHP日志以查看是否报告了任何错误?然后,您可以根据这些错误调整代码
您是否尝试手动运行delete语句以确认它删除了所需的行
在代码中,您是否尝试过使用$sql=DELETE。。。delete语句的语法
首先,检查以下潜在问题:
您正在以root用户身份连接。不推荐。您应该以MySQL用户的身份连接,在该表上拥有M.a.D权限(修改、添加、删除)
您是否检查过MySQL和system/PHP日志以查看是否报告了任何错误?然后,您可以根据这些错误调整代码
您是否尝试手动运行delete语句以确认它删除了所需的行
在代码中,您是否尝试过使用$sql=DELETE。。。delete语句的语法
更新
正确地将表单
元素括起来:
<?php
$con = @mysql_connect("localhost","root","");
if (!$con){
die("Can not connect: " . mysql_error());
}
mysql_select_db("formsystem", $con);
if(isset($_POST['update'])){
$UpdateQuery = "UPDATE form SET form_name='".$_POST['name']."', form_description='".$_POST['description']."' WHERE form_id='".$_POST['hidden']."';";
mysql_query($UpdateQuery, $con);
};
if(isset($_POST['delete'])){
$DeleteQuery = "DELETE FROM form WHERE form_id='".$_POST['hidden']."';";
mysql_query($DeleteQuery, $con);
};
$sql = "SELECT * FROM form";
$myData = mysql_query($sql,$con);
echo "<table>
<tr>
<th>Title</th>
<th>Description</th>
<th></th>
<th></th>
<th></th>
</tr>";
while($record = mysql_fetch_array($myData)){
echo "<form action=findGroup.php method=post>";
echo "<tr>";
echo "<td>" ."<input type=text name=name value='" . $record['form_name'] . "'/> </td>";
echo "<td>" ."<input type=text name=description value='" . $record['form_description'] . "'/> </td>";
echo "<td>" ."<input type=hidden name=hidden value='" . $record['form_id'] . "'/></td>";
echo "<td>" ."<input type=submit name=update value='update" . "'/> </td>";
echo "<td>" ."<input type=submit name=delete value='delete" . "'/> </td>";
echo "</tr>"
echo "</form>";
}
echo "</table>";
?>
但这是另一个问题,这里是更新
正确地将表单
元素括起来:
<?php
$con = @mysql_connect("localhost","root","");
if (!$con){
die("Can not connect: " . mysql_error());
}
mysql_select_db("formsystem", $con);
if(isset($_POST['update'])){
$UpdateQuery = "UPDATE form SET form_name='".$_POST['name']."', form_description='".$_POST['description']."' WHERE form_id='".$_POST['hidden']."';";
mysql_query($UpdateQuery, $con);
};
if(isset($_POST['delete'])){
$DeleteQuery = "DELETE FROM form WHERE form_id='".$_POST['hidden']."';";
mysql_query($DeleteQuery, $con);
};
$sql = "SELECT * FROM form";
$myData = mysql_query($sql,$con);
echo "<table>
<tr>
<th>Title</th>
<th>Description</th>
<th></th>
<th></th>
<th></th>
</tr>";
while($record = mysql_fetch_array($myData)){
echo "<form action=findGroup.php method=post>";
echo "<tr>";
echo "<td>" ."<input type=text name=name value='" . $record['form_name'] . "'/> </td>";
echo "<td>" ."<input type=text name=description value='" . $record['form_description'] . "'/> </td>";
echo "<td>" ."<input type=hidden name=hidden value='" . $record['form_id'] . "'/></td>";
echo "<td>" ."<input type=submit name=update value='update" . "'/> </td>";
echo "<td>" ."<input type=submit name=delete value='delete" . "'/> </td>";
echo "</tr>"
echo "</form>";
}
echo "</table>";
?>
但这是另一个问题,这里是。感谢您的输入,连接查询字符串似乎破坏了我的代码though@Hasan,有任何详细信息吗?通过新的调整,“删除”按钮仍与以前相同,始终删除文本框的最后一行,即使选择删除另一行。另外,现在“更新”按钮不能完全用于调整。@Hasan,很抱歉,我缺少了一个引号,它应该将变量包装在查询字符串中。我已经更新了。谢谢,我已经更新了。但仍然无法解决我遇到的主要问题:输入的DThanks,连接查询字符串似乎破坏了我的代码though@Hasan,有任何详细信息吗?通过新的调整,“删除”按钮仍与以前相同,始终删除文本框的最后一行,即使选择删除另一行。另外,现在“更新”按钮不能完全用于调整。@Hasan,很抱歉,我缺少了一个引号,它应该将变量包装在查询字符串中。我已经更新了。谢谢,我已经更新了。但仍然无法解决我遇到的主要问题:感谢帮助,在日志中似乎找不到任何有用的内容,是的,手动删除确实有效。我仍然是SQL/PHP的初学者,也许SQL查询/PHP代码可以改进,您对此有什么建议吗?非常感谢您的帮助!感谢您的帮助,在日志中似乎找不到任何有用的内容,是的,手动删除确实有效。我仍然是SQL/PHP的初学者,也许SQL查询/PHP代码可以改进,您对此有什么建议吗?非常感谢您的帮助!