从多维数组中回显特定项

时间:2014-06-09 03:12:59

标签: php sql arrays

几周来一直在努力。我认为它实际上很简单......但我无法得到它。

我想从数据库中提取信息,然后在我的html中使用div。我在其他情况下成功地循环并显示过去的查询的完整结果。在这种情况下,我只想在html中回显一个特定的团队名称或团队ID。所有的数据都被使用了...所以我想只有一个查询,但是数据会被用在不同地方的不同div中......所以能够回显查询的特定部分很重要。

我的查询返回10行和4列。

<?php

$playoffs = mysqli_query($con, "SELECT playoffseed, ttName, teamID, ttsUID
                            FROM standings
                            WHERE ttsUID = $season_view
                            AND playoffseed > 0
                            ORDER BY playoffseed
                            LIMIT 10");
?>

现在,我想我已经知道这个查询返回结果集而不是数组。需要使用一些php处理它才能将其转换为数组。正确?并且鉴于它在处理后有多个列和行,它将是一个多维数组。好吧,我已经搜索了这个网站和谷歌...尝试了很多想法使用mysqli_fetch_array,mysqlifetch_assoc,以及我遇到的任何其他mysqli_fetch。

无论如何,在我的脑海中,在用一些php处理查询后,我认为数组看起来像这样......

playoffseed  ttName    teamID    ttsUID
1            Buffalo   13        1993
2            Miami     19        1993
3            Detroit   8         1993
4            Denver    3         1993
5            Chicago   26        1993
...and so on.  10 rows total

之后,我希望能够在我的html中调用(echo)上面的各种项目。让我们说在一个div中我希望能够回应ttName“Detroit”,然后调用与teamID相关联的图像,我也希望能够调用它(在我看来它就是这样的HTML ...

IMG SRC="../images/<?php echo "teamID" ?>.jpeg

......在这种情况下,底特律的形象是“8.jpg”)。

怎么办?如何正确获取数组然后从中回显特定的数据项?

我在想如果以上是一个相关的数组,我可以回复这样的东西来回“底特律”......

echo $playoffs[3]['ttName'];

[3] =第3行,['ttName'] =列。没有?我意识到[3]实际上会引用第4行,如果它实际指向以零开头而不是1的行,但我希望能够通过使用“playoffseed”标识符来调用该项,但是我在这一点上我太困惑了。

我已经觉得自己让这个问题太混乱了。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

<强> kevinabelita:

  

这可以为你提供一些启示us2.php.net//manual/en/mysqli-result.fetch-assoc.php

<强> OP:

  曾经有过100次。我只是没有得到什么。长话短说以防万一以上太多了....采取查询并用PHP处理它来创建一个数组...然后回声....说...从阵列的“底特律”

仍然没有注意到这个简单的方法?

    while ($row = mysqli_fetch_assoc($playoffs)) {
            $values[]=$row;
            echo $row["ttName"];
            //print_r($row);   // if you want to see all the data this row contains
    }
    mysqli_free_result($result);
}

现在,您可以将$值与索引一起使用。即。

echo $values[0]["ttName"];

修改

我错误地试图再次执行查询。修复了上面的代码。现在对你的困惑进行一些解释。以下是流程大致如何

  • 连接数据库
  • 准备/运行查询(在这种情况下为mysqli_query
  • 将结果资源存储在变量(本例中为$playoffs
  • 从该结果中一起获取所有行或逐个获取。在这种情况下,循环中的mysqli_fetch_assoc逐个获取行,直到获取了所有结果集。
  • 将获取的行提供为数组供您使用,在这种情况下,它存储在$row变量中。