[英]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.