0

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

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

我一直在尝试编写 PHP 代码,该代码将为当前为 1 的每一行输出“一个点亮的圆圈”。因此,对于上表,1 会亮起,因为 current 为 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;
        ?>
4

2 回答 2

5

您忘记break;switch

case 'P':
    $rounds .=   '<div id="r0" class="'.$circleSize[$row['current']].'"><h3>P</h3></div>';
    break;
于 2013-02-14T21:28:26.973 回答
2

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

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

没有 a break;,逻辑流程将“通过”到下一个动作。

于 2013-02-14T21:30:12.607 回答