Php 删除按钮不起作用
我创建了一个直接提交到数据库中的示例,其中数据库中有一个名为validation的表。表单提交后,我从数据库中检索提交的数据。在将数据从数据库检索到我创建并命名为Receive.php的页面时,我没有遇到任何问题。我创建了一个Do-While循环,这样每一行数据都有一个delete按钮和一个Edit按钮。我面临的问题是我的delete按钮似乎不起作用,我还想只使用PhP使其工作,因此不会使用JavaScript或jquery等。我的代码如下:Php 删除按钮不起作用,php,mysqli,Php,Mysqli,我创建了一个直接提交到数据库中的示例,其中数据库中有一个名为validation的表。表单提交后,我从数据库中检索提交的数据。在将数据从数据库检索到我创建并命名为Receive.php的页面时,我没有遇到任何问题。我创建了一个Do-While循环,这样每一行数据都有一个delete按钮和一个Edit按钮。我面临的问题是我的delete按钮似乎不起作用,我还想只使用PhP使其工作,因此不会使用JavaScript或jquery等。我的代码如下: . . . . . 我还创建了一个隐藏
.
.
.
.
.
我还创建了一个隐藏的输入类型,它将向数据库提交或发布一个Id,该Id与数据库的Id相对应。。
任何帮助都是非常重要的。
我将它包含的完整代码发布到页面上,一个是***index.php*,这是主表单所在的位置,另一个是receive.php,因此在提交到数据库后,此页面是最终用户从数据库检索数据的位置**
INDEX.PHP我只能假设您已经发布了部分代码,因为在提交输入标记周围没有表
或表单
标记
假设您确实有一个表单标记,请检查您是否已将表单操作
属性设置为get
。实际上,通过GET
标题发送提交数据是一件非常糟糕的事情
如果你忘了把你的表单
标签放进去,那就是原因
更新:
您正在尝试从不存在的GET
super-global中提取
if(isset($_POST['remove']))
根据整个文件更新答案
<?php
include 'sql.php';
$query = "SELECT * FROM validation";
mysqli_query($con , $query);
$result = mysqli_query($con , $query);
$tottals = mysqli_num_rows($result);
if (isset($_POST['del'])){
$id = mysqli_real_escape_string($_POST['ID']); // COMMENT number 2 ( I know theyre out of order but it was easier to explain this way around )
$query1 = "DELETE FROM validation WHERE ID = '$id' ";
$results = mysqli_query($con , $query1);
}
?>
<div id="css">
<form >
<table width="80%" border="0" cellpadding="2" cellspacing="2" >
<caption><h2>Personal Details of Customers</h2></caption>
<tr class="white">
<td bgcolor="#330033"> </td>
<td bgcolor="#330033"> Full Name </td>
<td bgcolor="#330033"> Email Address </td>
<td bgcolor="#330033"> Website </td>
<td bgcolor="#330033"> Comment </td>
<td bgcolor="#330033"> Time </td>
</tr>
<?php
while ($rows= mysqli_fetch_assoc($result)) // COMMENT number 1
{
// COMMENT 5 - start of insert table row
echo "
<tr>
<td bgcolor='#FFFFCC'><input type='radio' name='ID' value='$rows[ID]'/></td> <!-- COMMENT number 3 -->
<td bgcolor='#FFFFCC'>$rows[ID]</td>
<td bgcolor='#FFFFCC'>$rows[Name]</td>
<td bgcolor='#FFFFCC'>$rows[Email]</td>
<td bgcolor='#FFFFCC'>$rows[Website]</td>
<td bgcolor='#FFFFCC'>$rows[Comment]</td>
<td bgcolor='#FFFFCC'>$rows[Time]</td>
<td> </td>
<td> <input type='submit' name='del' value='Delete' /> <input type='button' name='edit' value='Edit' /> </td>
</tr>
```` "; // end of insert table row
}?>
</table>
</form>
</div>
好的,有几件事(我在代码中添加了带有项目符号编号的注释,以帮助您看到哪里出了问题)
由于已经运行了查询以从页面顶部的数据库中获取记录,因此循环中不需要$i++。您只需依靠mysqli_fetch_assoc
即可为您完成这项工作
id
,所以应该是准确的<?php
include 'sql.php';
$query = "SELECT * FROM validation";
mysqli_query($con , $query);
$result = mysqli_query($con , $query);
$tottals = mysqli_num_rows($result);
if (isset($_POST['del'])){
$id = mysqli_real_escape_string($_POST['ID']); // COMMENT number 2 ( I know theyre out of order but it was easier to explain this way around )
$query1 = "DELETE FROM validation WHERE ID = '$id' ";
$results = mysqli_query($con , $query1);
}
?>
<div id="css">
<form >
<table width="80%" border="0" cellpadding="2" cellspacing="2" >
<caption><h2>Personal Details of Customers</h2></caption>
<tr class="white">
<td bgcolor="#330033"> </td>
<td bgcolor="#330033"> Full Name </td>
<td bgcolor="#330033"> Email Address </td>
<td bgcolor="#330033"> Website </td>
<td bgcolor="#330033"> Comment </td>
<td bgcolor="#330033"> Time </td>
</tr>
<?php
while ($rows= mysqli_fetch_assoc($result)) // COMMENT number 1
{
// COMMENT 5 - start of insert table row
echo "
<tr>
<td bgcolor='#FFFFCC'><input type='radio' name='ID' value='$rows[ID]'/></td> <!-- COMMENT number 3 -->
<td bgcolor='#FFFFCC'>$rows[ID]</td>
<td bgcolor='#FFFFCC'>$rows[Name]</td>
<td bgcolor='#FFFFCC'>$rows[Email]</td>
<td bgcolor='#FFFFCC'>$rows[Website]</td>
<td bgcolor='#FFFFCC'>$rows[Comment]</td>
<td bgcolor='#FFFFCC'>$rows[Time]</td>
<td> </td>
<td> <input type='submit' name='del' value='Delete' /> <input type='button' name='edit' value='Edit' /> </td>
</tr>
```` "; // end of insert table row
}?>
</table>
</form>
</div>
请不要使用不相关的标记。与您的问题无关。首先,您使用了两次mysqli\u query
。另外,您的表单标记在哪里?除此之外,我的查询没有问题??您尝试过它吗?因为与循环相关的所有行中都有语法错误。请继续获取此通知:解析错误:语法错误,意外的“bgcolor”(T_字符串),在C:\xampp\htdocs\ak\receive.php的第60行应为“,”或“;”,如果您复制了该文件,则没有第60I行复制了该文件,现在是第42行,因此在echo“哦,我明白为什么了。我在$row[]调用中留下了“”
if(isset($_POST['remove']))
<?php
include 'sql.php';
$query = "SELECT * FROM validation";
mysqli_query($con , $query);
$result = mysqli_query($con , $query);
$tottals = mysqli_num_rows($result);
if (isset($_POST['del'])){
$id = mysqli_real_escape_string($_POST['ID']); // COMMENT number 2 ( I know theyre out of order but it was easier to explain this way around )
$query1 = "DELETE FROM validation WHERE ID = '$id' ";
$results = mysqli_query($con , $query1);
}
?>
<div id="css">
<form >
<table width="80%" border="0" cellpadding="2" cellspacing="2" >
<caption><h2>Personal Details of Customers</h2></caption>
<tr class="white">
<td bgcolor="#330033"> </td>
<td bgcolor="#330033"> Full Name </td>
<td bgcolor="#330033"> Email Address </td>
<td bgcolor="#330033"> Website </td>
<td bgcolor="#330033"> Comment </td>
<td bgcolor="#330033"> Time </td>
</tr>
<?php
while ($rows= mysqli_fetch_assoc($result)) // COMMENT number 1
{
// COMMENT 5 - start of insert table row
echo "
<tr>
<td bgcolor='#FFFFCC'><input type='radio' name='ID' value='$rows[ID]'/></td> <!-- COMMENT number 3 -->
<td bgcolor='#FFFFCC'>$rows[ID]</td>
<td bgcolor='#FFFFCC'>$rows[Name]</td>
<td bgcolor='#FFFFCC'>$rows[Email]</td>
<td bgcolor='#FFFFCC'>$rows[Website]</td>
<td bgcolor='#FFFFCC'>$rows[Comment]</td>
<td bgcolor='#FFFFCC'>$rows[Time]</td>
<td> </td>
<td> <input type='submit' name='del' value='Delete' /> <input type='button' name='edit' value='Edit' /> </td>
</tr>
```` "; // end of insert table row
}?>
</table>
</form>
</div>