【发布时间】:2013-02-14 17:37:32
【问题描述】:
我的数据库中有一个名为 ts_rounds 的表,其结构如下
round | current
===============
P | 0
1 | 1
2 | 0
3 | 0
4 | 0
我试图在两种不同的条件下回应某个<div> 安排:
一个当前值为1,其余为0
所有电流为0,多于一个电流值为1
一旦满足条件,我就想跳出 if 语句。
到目前为止,这是我的代码,第一个条件得到满足,但我无法满足第二个条件。
<div id="timeline">
<?php
$sql = "SELECT * from ts_rounds";
$result = $pdo->query($sql);
foreach ($result as $row)
{
if ($row["round"] == "P" && $row["current"] == "1") {
echo
'
<div id="r0" class="circle">
<h3>P</h3>
</div>
<div id="r1" class="circle_small"><h3>1</h3></div>
<div id="r2" class="circle_small"><h3>2</h3></div>
<div id="r3" class="circle_small"><h3>3</h3></div>
<div id="r4" class="circle_small"><h3>4</h3></div>
<div id="r5" class="circle_small"><h3>A</h3></div>
<hr id="line">
';
}
else if ($row["round"] == "1" && $row["current"] == "1") {
echo
'
<div id="r0" class="circle_small">
<h3>P</h3>
</div>
<div id="r1" class="circle"><h3>1</h3></div>
<div id="r2" class="circle_small"><h3>2</h3></div>
<div id="r3" class="circle_small"><h3>3</h3></div>
<div id="r4" class="circle_small"><h3>4</h3></div>
<div id="r5" class="circle_small"><h3>A</h3></div>
<hr id="line">
';
}
else if ($row["round"] == "2" && $row["current"] == "1") {
echo
'
<div id="r0" class="circle_small">
<h3>P</h3>
</div>
<div id="r1" class="circle_small"><h3>1</h3></div>
<div id="r2" class="circle"><h3>2</h3></div>
<div id="r3" class="circle_small"><h3>3</h3></div>
<div id="r4" class="circle_small"><h3>4</h3></div>
<div id="r5" class="circle_small"><h3>A</h3></div>
<hr id="line">
';
}
else if ($row["round"] == "3" && $row["current"] == "1") {
echo
'
<div id="r0" class="circle_small">
<h3>P</h3>
</div>
<div id="r1" class="circle_small"><h3>1</h3></div>
<div id="r2" class="circle_small"><h3>2</h3></div>
<div id="r3" class="circle"><h3>3</h3></div>
<div id="r4" class="circle_small"><h3>4</h3></div>
<div id="r5" class="circle_small"><h3>A</h3></div>
<hr id="line">
';
}
else if ($row["round"] == "4" && $row["current"] == "1") {
echo
'
<div id="r0" class="circle_small">
<h3>P</h3>
</div>
<div id="r1" class="circle_small"><h3>1</h3></div>
<div id="r2" class="circle_small"><h3>2</h3></div>
<div id="r3" class="circle_small"><h3>3</h3></div>
<div id="r4" class="circle"><h3>4</h3></div>
<div id="r5" class="circle_small"><h3>A</h3></div>
<hr id="line">
</div>';
}
else if ($row["round"] == "A" && $row["current"] == "1") {
echo
'
<div id="r0" class="circle_small">
<h3>P</h3>
</div>
<div id="r1" class="circle_small"><h3>1</h3></div>
<div id="r2" class="circle_small"><h3>2</h3></div>
<div id="r3" class="circle_small"><h3>3</h3></div>
<div id="r4" class="circle_small"><h3>4</h3></div>
<div id="r5" class="circle"><h3>A</h3></div>
<hr id="line">
';
}
else {
$rounds = '
<div id="r0" class="circle_small">
<h3>P</h3>
</div>
<div id="r1" class="circle_small"><h3>1</h3></div>
<div id="r2" class="circle_small"><h3>2</h3></div>
<div id="r3" class="circle_small"><h3>3</h3></div>
<div id="r4" class="circle_small"><h3>4</h3></div>
<div id="r5" class="circle_small"><h3>A</h3></div>
<hr id="line">
';
}
}
?>
</div>
【问题讨论】:
-
使用
while而不是if。 -
if elseif 和 else 不需要任何中断!!!它们用于您的目的! break 和 continue 只能在循环内部使用。
-
PHP 提供
break和continue -
大家好,感谢您的回复。如何确保以最佳方式满足这两个条件?
-
您将从查询中提取多少条记录?满足条件是模棱两可的。