Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.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
Php 如何让前五名的计算结果只出现在屏幕上_Php_Mysql - Fatal编程技术网

Php 如何让前五名的计算结果只出现在屏幕上

Php 如何让前五名的计算结果只出现在屏幕上,php,mysql,Php,Mysql,我有一个狗展网站,并试图显示前五名犬舍附加物与最多的分数超过一年 如代码中所示,我已经拆分了这一点,并在两个表上使用了内部联接。一只是结果,另一只是狗 我在显示词缀名称及其旁边获得的点数时遇到问题。根据大多数分数也无法获得前五名 警告:在第59行的xxx中遇到非数字值 注意:未定义变量:第68行xxx中的总计 下面是所有显示的内容,我认为它添加了if语句 3 6 对不起,我不太擅长,需要帮助 <?php $query = "SELECT result.placement,

我有一个狗展网站,并试图显示前五名犬舍附加物与最多的分数超过一年

如代码中所示,我已经拆分了这一点,并在两个表上使用了内部联接。一只是结果,另一只是狗

我在显示词缀名称及其旁边获得的点数时遇到问题。根据大多数分数也无法获得前五名

警告:在第59行的xxx中遇到非数字值 注意:未定义变量:第68行xxx中的总计

下面是所有显示的内容,我认为它添加了if语句

3
6
对不起,我不太擅长,需要帮助

<?php
        $query = "SELECT result.placement, result.award, result.class_name, dogs.affix
        FROM result
        INNER JOIN dogs
        ON result.resultID = dogs.dog_id
        ORDER BY dogs.affix LIMIT 5";

        $result = mysqli_query($connection, $query);

        while($row = mysqli_fetch_assoc($result)){


            $affix          = $row['affix'];
            $placement      = $row['placement'];
            $award          = $row['award'];

            if($award === 'BCC'){
                $points = $affix + 5;
            }
            if($award === 'DCC'){
                $points = $affix + 5;
            }
            if($award === 'RBCC'){
                $points = $affix + 4;
            }
            if($award === 'RDCC'){
                $points = $affix + 4;
            }
            if($placement === '1st'){
                $points = $affix + 3;
            }
            if($placement === '2nd'){
                $points = $affix + 2;
            }
            if($placement === '3rd'){
                $points = $affix + 1;
            }

            $total += $points;



            echo "<li> {$affix} {$total}</li>";

        }

        ?>
三个问题

按狗排序。粘贴限制5返回底部5而不是顶部。它应该由狗来订购。贴上DESC LIMIT 5以获得顶部。 词缀返回null或emparty字符串,这就是为什么会出现第一个错误。在数据库中将此字段定义为int not null默认值0。 $total未初始化。在循环之前将其指定为0
需要查看更多的代码页面上的所有代码显然不是,因为这里只有47行,但这不是重点。抱歉,所有php代码,其余都是HTML。我看到了一个加法赋值运算符,但我没有看到$total的初始Declating。感觉我们没有看到整个故事。我可能会在SELECT子句中加入一个CASE语句。谢谢,这真的很有帮助