当前位置: 首页 > 知识库问答 >
问题:

foreach循环产生意外结果

童冠玉
2023-03-14

我有一个用户表和一个高尔夫比赛分数表。当用户参加比赛时,他使用表格在结果表中记录分数。我想显示一个结果表,显示用户的完整列表和比赛的分数。表中有八列分数——每门课一列。我正在努力使用php代码来显示结果分数。如果一名球员已经比赛,他的得分将正确显示,但如果表中的下一名球员没有比赛,则他的得分将显示为表中高于他的球员的得分。这将在列表中继续下去,直到获得真正的分数。我试图找到答案,但没有成功。这是我的代码,只针对一个课程。如果我能克服这个问题,我相信代码将适用于其他课程。

$query = "SELECT * FROM emg_users ORDER BY user_login";
$results=mysql_query($query);
$results_array = array();
while ($row = mysql_fetch_array($results)) {
$results_array[$row['ID']] = $row;
}
    foreach ($results_array as $id => $record) { 
    $player = $record['user_login'];
?>
        <tr>
            <td class="padded_c" nowrap="nowrap"><?php echo $player;?></td> <!-- Player    name -->
<?php
    $query = "SELECT * FROM 0_tournament_test WHERE player = '".$player."' AND course = 'St_Andrews'";
    $results=mysql_query($query);
    $results_array = array();
    while ($row = mysql_fetch_array($results)) {
    $results_array[$row['id']] = $row;
    }
    foreach ($results_array as $id => $record) {
    $pplayer = $record['player'];
        if ($pplayer = $player) {
            $sta = $record['score'];
            } 
        else {
            unset($sta);
            }
    $id++;
    }
?>
        <td class="padded_c" nowrap="nowrap"></td>
        <td  nowrap="nowrap"><?php echo $sta;?></td>
        <td  nowrap="nowrap"><?php echo $rsg;?></td>
        <td  nowrap="nowrap"><?php echo $bet;?></td>
        <td  nowrap="nowrap"><?php echo $oak;?></td>
        <td  nowrap="nowrap"><?php echo $kia;?></td>
        <td  nowrap="nowrap"><?php echo $cng;?></td>
        <td  nowrap="nowrap"><?php echo $mer;?></td>
        <td  nowrap="nowrap"><?php echo $oly;?></td>
        <td  nowrap="nowrap"><?php echo $allshots;?></td>
        <td  nowrap="nowrap"><?php echo $sss;?></td>
        <td  nowrap="nowrap"><?php echo '';?></td>
    </tr>
<?php
$id++;
}
?>
    </table>

共有1个答案

魏凡
2023-03-14

我想你忘了一些登录信息...

你的代码变化很小:--

if ($pplayer == $player) {
    $sta = $record['score'];
} 
else
{
    unset($sta);
}

将此条件添加到您的代码中...

 类似资料:
  • 这个类被设计来迭代WordPress菜单结构(嵌套数组/对象)以产生一个完成的菜单。虽然我的数据来源是WordPress,但我觉得这个问题属于SO而不是WP. SO,因为这个问题更植根于PHP(适用于任何试图递归的人)。 出于某种原因,我在层次结构中看到了重复的结果。另外,我注意到某些HTML元素没有正确关闭。看起来我已经正确地嵌套了所有内容,但结果就是您在这里看到的。 为了帮助调试,我添加了一些

  • 这是一个简单的程序,但我无法理解while loop在幕后所做的逻辑/工作。 问题:编写一个程序,打印从0到1的每个数字,小数点后有一个位数(即0.1、0.2等)。 这是我的代码: 如果我这样写它,它就会打印出来 输出: 理想地说,1和1.1不应该分别打印在两个代码示例中。打印0.9后,当0.1添加到它时,它变成1.0,即

  • foreach循环遍历列表值并将控制变量(var)依次设置为列表的每个元素 - 语法 (Syntax) Perl编程语言中foreach循环的语法是 - foreach var (list) { ... } 流程图 (Flow Diagram) 例子 (Example) #!/usr/local/bin/perl @list = (2, 20, 30, 40, 50); # foreach lo

  • 除了前面介绍的几种循环语句外,C# 同样也支持 foreach 循环,使用 foreach 可以遍历数组或者集合对象中的每一个元素,其语法格式如下: foreach(数据类型 变量名 in 数组或集合对象){     语句块; } foreach 会在每次循环的过程中,依次从数组或集合对象中取出一个新的元素放到 里定义的变量中,直到所有元素都成功取出后退出循环。 【示例】使用 foreach 循环

  • 本文向大家介绍C# Foreach循环,包括了C# Foreach循环的使用技巧和注意事项,需要的朋友参考一下 示例 foreach将迭代实现的类的任何对象IEnumerable(请注意IEnumerable<T>从其继承的对象)。此类对象包括一些内置对象,但不限于:List<T>,T[](任何类型的数组),Dictionary<TKey, TSource>以及诸如IQueryable和IColl