使用primaryKey&;使用PDO、PHP和MYSQL删除语句;复选框
我正在尝试删除数据库中的多个条目。我使用复选框来确定需要删除哪些数据。一旦我勾选了复选框,它就会向我发送我用来删除它的主键的值。到目前为止,我已经想出了这个 当我尝试删除一个或多个数据时,它会直接进入成功页面,该页面会成功统计删除的播放器的预期数量。但当我显示所有表格时,什么也没有发生 HTML/PHP代码使用primaryKey&;使用PDO、PHP和MYSQL删除语句;复选框,php,mysql,pdo,Php,Mysql,Pdo,我正在尝试删除数据库中的多个条目。我使用复选框来确定需要删除哪些数据。一旦我勾选了复选框,它就会向我发送我用来删除它的主键的值。到目前为止,我已经想出了这个 当我尝试删除一个或多个数据时,它会直接进入成功页面,该页面会成功统计删除的播放器的预期数量。但当我显示所有表格时,什么也没有发生 HTML/PHP代码 <?php $self = htmlentities($_SERVER['PHP_SELF']);
<?php
$self = htmlentities($_SERVER['PHP_SELF']);
echo "<form id='delete' method='POST' action='$self'>";
?>
<div class="content">
<h3>Delete Athlete</h3>
<hr>
<table>
<tr>
<th>Select Player</th><th>Photo</th><th>First Name</th><th>Last Name</th><th>Gender</th><th>Sport</th><th>Country</th><th>Population</th><th>Flag</th>
</tr>
<?php
foreach($showResult as $row)
{
echo("<tr><td><input type='checkbox' name='checkdelete[]' value='$row[athleteID]'>$row[athleteID]</td>
<td><img class='photo' src='files/$row[image]' alt='$row[lastName].jpg'/></td>
<td>$row[firstName]</td><td>$row[lastName]</td>
<td><img class='genderImg' src='files/$row[gender].png' alt='$row[gender].jpg'/></td>
<td>$row[sport]</td><td>$row[countryName]</td><td>$row[population]</td>
<td><img class = 'flag' src='files/flags/$row[flag]' alt='$row[flag].jpg'/></tr>");
}
?>
</table>
<br><input type="submit" name="deleteAth" value="Delete">
</div>
</body>
您的循环中有一个错误:
...
$N = count ($valueID);
for ($i=0; $i; $i++)
^^ 0 on the first iteration
{
...
当条件(中间值)为true
时,循环将运行。您将$i
设置为0,其计算结果为false
,因此循环永远不会运行
或者,从:
在每次迭代开始时,对expr2进行评估。如果是
计算为TRUE时,循环将继续,嵌套语句将被删除
执行。如果计算结果为FALSE,则循环的执行结束
您可能想要:
...
$N = count ($valueID);
for ($i=0; $i < $N; $i++)
{
...
。。。
$N=计数($valueID);
对于($i=0;$i<$N;$i++)
{
...
您的循环中有一个错误:
...
$N = count ($valueID);
for ($i=0; $i; $i++)
^^ 0 on the first iteration
{
...
您的循环将在条件(中间值)为true
时运行。您将$i
设置为0,其计算结果为false
,因此您的循环永远不会运行
或者,从:
在每次迭代的开始,expr2都会被计算
计算为TRUE时,循环将继续,嵌套语句将被删除
如果计算结果为FALSE,则循环的执行结束
您可能想要:
...
$N = count ($valueID);
for ($i=0; $i < $N; $i++)
{
...
。。。
$N=计数($valueID);
对于($i=0;$i<$N;$i++)
{
...
表单是HTML/PHP格式的。$showResult使用Delete.HTML.PHP中显示的每个athleteID的复选框来回显表,首先进行选择,然后处理删除操作。因此,所选结果仍将包含要删除的记录,因为Delete语句尚未运行。表单是HTML/PHP格式的。$showResult回显在Delete.html.phpf中显示的每个athleteID带有复选框的表首先进行选择,然后处理删除。因此,所选结果仍将包含要删除的记录,因为Delete语句尚未运行。谢谢!现在已成功使其工作。除您指出的外,我还使用了$db而不是$pdo->准备好lol…我想现在该睡觉了!非常感谢你!小错误让编程生活变得痛苦lol谢谢!我现在已经设法让它工作了。除了你指出的,我也使用了$db而不是$pdo->准备lol…我想现在该睡觉了!非常感谢你!小错误让编程生活变得痛苦lol