我目前正在使用一个包含以下表结构的数据库:
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;
,逻辑流将"通过"到下一个操作。