Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用primaryKey&;使用PDO、PHP和MYSQL删除语句;复选框_Php_Mysql_Pdo - Fatal编程技术网

使用primaryKey&;使用PDO、PHP和MYSQL删除语句;复选框

使用primaryKey&;使用PDO、PHP和MYSQL删除语句;复选框,php,mysql,pdo,Php,Mysql,Pdo,我正在尝试删除数据库中的多个条目。我使用复选框来确定需要删除哪些数据。一旦我勾选了复选框,它就会向我发送我用来删除它的主键的值。到目前为止,我已经想出了这个 当我尝试删除一个或多个数据时,它会直接进入成功页面,该页面会成功统计删除的播放器的预期数量。但当我显示所有表格时,什么也没有发生 HTML/PHP代码 <?php $self = htmlentities($_SERVER['PHP_SELF']);

我正在尝试删除数据库中的多个条目。我使用复选框来确定需要删除哪些数据。一旦我勾选了复选框,它就会向我发送我用来删除它的主键的值。到目前为止,我已经想出了这个

当我尝试删除一个或多个数据时,它会直接进入成功页面,该页面会成功统计删除的播放器的预期数量。但当我显示所有表格时,什么也没有发生

HTML/PHP代码

            <?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