【问题标题】:MySQL mysqli - returning rows in an arrayMySQL mysqli - 返回数组中的行
【发布时间】:2014-06-05 16:03:47
【问题描述】:

我有以下代码:

$query6 = "SELECT TIMESTAMP As sDate, COUNT( TIMESTAMP ) AS Total 
           FROM tresults GROUP BY TO_DAYS( timestamp ) ";

$result6 = $mysqli->query($query6);

$rows = array();

while($row6 = $result6->fetch_array())
    {
        $rows[]=$row6;
    }

虽然这可行,但输出如下,但不是我的预期:

Array ( [0] => Array ( [0] => 2014-05-14 02:11:16 [1] => 1 ) 
[1] => Array ( [0] => 2014-05-19 05:05:17 [1] => 76 ) 
[2] => Array ( [0] => 2014-05-20 00:28:41 [1] => 35 ) 
[3] => Array ( [0] => 2014-05-21 01:24:01 [1] => 25 ) )

我原以为结果是单个数组而不是多数组。

根据我的代码,显然输出是正确的,但我正在努力解决的是(在 PHP 中)循环遍历上述数组和 echo'ing 输出。

如果有人可以就代码提出建议,需要正确循环上述代码或建议更改上述代码,以便输出在一个数组内(我知道如何循环) - 将不胜感激。

【问题讨论】:

  • 你需要哪一行?如果您需要打印每一行的详细信息,则不要创建新数组,只需在您循环的数组上使用 echo
  • 我在哪里要求存储单个值?为什么投反对票?

标签: php mysql arrays multidimensional-array


【解决方案1】:

您可以在 while 循环中回显内容,而不是将每一行插入到一个巨大的数组中。

while($row = $result6->fetch_array())
{
    echo $row[0] . ' ' . $row[1];
}

如果要处理while循环后的巨型数组,可以使用foreach循环:

foreach ($rows as $row => $record)
{
    echo $record[0] . ' ' . $record[1];
}

foreach 循环遍历每个数组并以 $record 形式返回值(在本例中为内部数组)。

【讨论】:

  • 感谢您抽出宝贵的时间做出回应。谢谢。
猜你喜欢
  • 2016-05-17
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多