簡體   English   中英

mysql 的 while 循環中的 if 語句永遠不是真正的 PHP

[英]If-statement in while loop with mysql is never true PHP

我在 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_* 函數):-

<?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());
}
?>

警告不要使用mysql_使用mysqli_PDO代替
仔細閱讀:不推薦使用mysql_

<?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>';

}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM