【问题标题】:While loop showing only one resultWhile 循环只显示一个结果
【发布时间】:2015-06-21 20:49:47
【问题描述】:

我想在while循环外显示字符串,但它只显示一个结果。

while($row = $result->fetch_assoc()) {
    $myarr = array();
}
echo $myarr;

这仅显示一个结果,但我需要 while 循环之外的所有结果。 你能帮我看看这怎么可能?

【问题讨论】:

    标签: php while-loop


    【解决方案1】:

    我不确定您是希望从查询中返回整行还是只返回一个字段。

    如果是整行那么试试

    $myarr = array(); // initialize
    while($row = $result->fetch_assoc()) {
        $myarr[] = $row;
    }
    print_r($myarr);
    

    这将为您提供一个包含n 行数组的数组。

    【讨论】:

      【解决方案2】:

      问题:

      你只是一次又一次地分配结果

      $myarr = array();
      

      在这里,这意味着您正在一次又一次地分配array(),它会替换旧值

      解决方案/你应该做什么

      1.您可以将其分配给数组(好方法)

      while($row = $result->fetch_assoc()) {
          $myarr[] = $row['yourdbitem'];  // or $row if you want whole row
      }
      print_r($myarr);
      

      2。您可以在每次迭代中连接(不好的方法)

      $somevariable = '';
      while($row = $result->fetch_assoc()) {
      $somevariable .= $row['yourdbitem'];  // or $row if you want whole row
      }
      echo $somevariable
      

      注意:

      我已经给出了好的和坏的方法来更新你应该做什么和不应该做什么:)

      【讨论】:

        猜你喜欢
        • 2012-09-28
        • 2014-07-13
        • 2011-09-26
        • 2012-11-15
        • 2014-07-13
        • 1970-01-01
        • 2021-09-24
        • 2020-04-28
        • 1970-01-01
        相关资源
        最近更新 更多