首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >If-语句在带mysql的while循环中永远不是真PHP。

If-语句在带mysql的while循环中永远不是真PHP。
EN

Stack Overflow用户
提问于 2015-09-16 08:55:56
回答 2查看 165关注 0票数 2

在while循环i PHP中,如果语句出现问题,我会遇到麻烦。我有一个名为$all_teams的团队的数组。假设它包含蓝队、红队和黄队。我还拥有一个数据库,其中将对象分配给团队。

代码语言:javascript
运行
复制
DatabaseID | State |  Team | ... 
12           Ready    Blue
33           Finished Red
65           Ready    Blue

我现在试图运行以下代码:

代码语言:javascript
运行
复制
 <?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>';

    }
    ?>

我正试着创造一张应该像这样的桌子。

代码语言:javascript
运行
复制
Blue   | 12
         65
Red    | 33
Yellow |

如果-状态

代码语言:javascript
运行
复制
if($all_objects['Team'] == $team)

从来都不是真的。为什么?我怎样才能解决我的问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-16 09:12:35

在每个循环之后重置结果集指针(现在忽略您使用的是不推荐的mysql_*函数):-

代码语言:javascript
运行
复制
<?php
$query = "SELECT DISTINCT * 
            FROM `dmt_objects` 
            WHERE PipelineAndWorkflow = 'RWP WF  Ready for 4Sprint' 
            AND Team IN ('".implode("','", $all_teams)."')
            ORDER BY `Team` DESC  ;";
if ($select_projects = mysql_query($query))
{
    foreach($all_teams as $team)
    {
        echo "<tr id = '$team'><td>$team</td><td>";
        while($all_objects = mysql_fetch_assoc($select_projects))
        {
            if($all_objects['Team'] == $team)
            {
                echo ''.$all_objects['DatabaseID'].'</br>';
            }
        }
        echo '</td></tr>';
        mysql_data_seek($select_projects, 0);
    }
}
else
{
    die(mysql_error());
}
?>
票数 1
EN

Stack Overflow用户

发布于 2015-09-16 09:08:08

警告不使用mysql_使用mysqli_PDO

仔细阅读:已弃用

代码语言:javascript
运行
复制
<?php
$query           = "SELECT DISTINCT * FROM `dmt_objects` WHERE PipelineAndWorkflow = 'RWP WF  Ready for 4Sprint' ORDER BY `Team` DESC  ;";
$select_projects = mysql_query($query);
$all_objects     = mysql_fetch_array($select_projects)

foreach($all_teams as $team){
    echo '<tr id = '.$team.'><td>'.$team.'</td><td>';
        foreach($all_objects as $obj)
            if($obj['Team'] == $team){
                echo ''.$obj['DatabaseID'].'</br>';
            }
        }
    echo '</td></tr>';

}
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32603938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档