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

时间:2013-02-14 21:23:28

标签: php mysql pdo

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

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

我一直在尝试编写PHP代码,为​​当前为1的每一行输出“一个点亮的圆圈”。因此,根据上表,1会被点亮,因为当前为1 - 其余轮次将由灰色圆圈表示。

我在此处添加了一个示例:http://i.imgur.com/GYvUdii.png

然而,我现在遇到的困难是我的代码输出了这个:http://i.imgur.com/Q41kBnM.png当它只是意味着返回如上所述的单行时。

我在这里添加了HTML输出:http://jsfiddle.net/pn8BW/

这是我现在使用的PHP / MySQL。希望得到一些帮助,因为我已经在这工作了一个小时: - (:

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

2 个答案:

答案 0 :(得分:5)

您忘记了break;中的switch

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

答案 1 :(得分:2)

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

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

如果没有break;,逻辑流程将“落到”下一个动作。