而在另一个while循环与MySQL

时间:2014-03-02 12:37:55

标签: php mysql while-loop nested-loops

有人可以在这里给我一个提示,因为我试图解决我有一段时间的问题,而且我现在无处可去。

我有一个while循环列出了来自一个团队的所有玩家,并且需要列出他们的统计数据。我尝试使用嵌套while循环,但我没有得到任何打印结果。

<?php 
while($player=mysql_fetch_array($var2)) {
    echo $player[1] ." ". $player[2] ." ". $player[3] ." ". $player[4] ." "; 
    $goal=mysql_query("SELECT A.Minute+A.Minuteadditional from Appearance A 
    where A.Type=1 and A.Appearance_ID in (Select M.ID_Matches from Matches M 
    where M.Player_ID=$player[0] and M.Match_ID=$match)",$connection);

    while($g=mysql_fetch_array($goal)) {
        echo $g[0] .", ";
    }
    echo "<br>"; 
}
?>

在这里,我尝试获得特定球员得分时的所有分钟数(从他的名字右侧打印)。查询在phpMyadmin中有结果,但代码在这里没有返回结果。

$ player [0] 是玩家ID,其余字段是衬衫编号,姓氏,姓氏等...我知道不建议在循环内进行查询,但我我仍然是php的初学者,这种方式对我来说最合乎逻辑,也更容易理解。

1 个答案:

答案 0 :(得分:0)

如果您使用

$player[1] ." ". $player[2] ." ". $player[3] ." ". $player[4]

然后我猜你应该使用mysql_fetch_row代替。

那么你的代码将是

 while($player=mysql_fetch_row($var2)) {

试试这个

<?php 
 $player=mysql_fetch_row($var2);

 $goal=mysql_query("SELECT A.Minute+A.Minuteadditional from Appearance A 
 where A.Type=1 and A.Appearance_ID in (Select M.ID_Matches from Matches M 
 where M.Player_ID = $player[0] and M.Match_ID = $match)",$connection);

 while($g=mysql_fetch_row($goal)) {
echo $g[0] .", ";
}

?>