【发布时间】:2015-12-12 18:21:32
【问题描述】:
我在 PHP 的 while 循环中遇到了 if 语句的问题。我有一个名为 $all_teams 的团队数组。假设它包含蓝队、红队和黄队。我还有一个将对象分配给团队的数据库。
DatabaseID | State | Team | ...
12 Ready Blue
33 Finished Red
65 Ready Blue
我现在正在尝试运行以下代码:
<?php
$query = "SELECT DISTINCT * FROM `dmt_objects` WHERE PipelineAndWorkflow = 'RWP WF Ready for 4Sprint' ORDER BY `Team` DESC ;";
$select_projects = mysql_query($query);
foreach($all_teams as $team){
echo '<tr id = '.$team.'><td>'.$team.'</td><td>';
while($all_objects = mysql_fetch_array($select_projects)){
if($all_objects['Team'] == $team){
echo ''.$all_objects['DatabaseID'].'</br>';
}
}
echo '</td></tr>';
}
?>
我正在尝试创建一个应该如下所示的表格。
Blue | 12
65
Red | 33
Yellow |
if 语句
if($all_objects['Team'] == $team)
从来都不是真的...为什么?我该如何解决我的问题?
【问题讨论】:
-
您是否尝试过在表达式的每一侧打印值并查看您得到的输出?
-
部分这只适用于第一支球队。需要重置查询结果(可能使用mysql_data_seek)
-
@db579 如果我移动 echo ''.$all_objects['DatabaseID'].'';在 If 语句之前,它会打印出第一队行中的所有 ID
-
只需在 if 语句之前回显 $all_objects['Team'] 和 $team。您应该能够从中看到发生了什么。
标签: php mysql if-statement while-loop