处理SQL请求时DIV格式不正确


Incorrect DIV formatting when processing SQL request

我目前正在使用一个包含以下表结构的数据库:

round | current
===============
P     | 0
1     | 1
2     | 0
3     | 0
4     | 0
A     | 0

我一直在尝试编写PHP代码,它将为current为一的每一行输出"一个亮起的圆圈"。因此,对于上表,1将被点亮,因为电流为1——其他回合的其余回合将由灰色圆圈表示。

我在这里举了一个例子:https://i.stack.imgur.com/uUgkY.png

然而,我现在遇到的困难是,我的代码正在输出以下内容:https://i.stack.imgur.com/JGbkO.png当它只意味着返回如上所述的单行时。

我在这里包含了HTML输出:http://jsfiddle.net/pn8BW/

这就是我现在使用的PHP/MMySQL。我很感激在这方面的帮助,因为我已经工作了一个小时:-(:

<?php
        $sql = "SELECT * from ts_rounds";
        $result = $pdo->query($sql);
$circleSize = array ('circle_small', 'circle');
$rounds = '';
foreach ($result as $row) {
    switch ($row['round']) {
        case 'P':
            $rounds .=   '<div id="r0" class="'.$circleSize[$row['current']].'"><h3>P</h3></div>';
        case '1':
            $rounds .=   '<div id="r1" class="'.$circleSize[$row['current']].'"><h3>1</h3></div>';
        case '2':
            $rounds .=   '<div id="r2" class="'.$circleSize[$row['current']].'"><h3>2</h3></div>';
        case '3':
            $rounds .=   '<div id="r3" class="'.$circleSize[$row['current']].'"><h3>3</h3></div>';
        case '4':
            $rounds .=   '<div id="r4" class="'.$circleSize[$row['current']].'"><h3>4</h3></div>';
        case 'A':
            $rounds .=   '<div id="r5" class="'.$circleSize[$row['current']].'"><h3>A</h3></div>';
    }
}
echo $rounds;
        ?>

您在switch:中忘记了break;

case 'P':
    $rounds .=   '<div id="r0" class="'.$circleSize[$row['current']].'"><h3>P</h3></div>';
    break;

我认为在switch中的每个后续条件测试之前,您都需要一个break;,例如.

    case 'P':
        $rounds .=   ... ;
        break;
    case '1':
        $rounds .=   ... ;
        break;

如果没有break;,逻辑流将"通过"到下一个操作。