【发布时间】:2015-06-21 20:49:47
【问题描述】:
我想在while循环外显示字符串,但它只显示一个结果。
while($row = $result->fetch_assoc()) {
$myarr = array();
}
echo $myarr;
这仅显示一个结果,但我需要 while 循环之外的所有结果。 你能帮我看看这怎么可能?
【问题讨论】:
标签: php while-loop
我想在while循环外显示字符串,但它只显示一个结果。
while($row = $result->fetch_assoc()) {
$myarr = array();
}
echo $myarr;
这仅显示一个结果,但我需要 while 循环之外的所有结果。 你能帮我看看这怎么可能?
【问题讨论】:
标签: php while-loop
我不确定您是希望从查询中返回整行还是只返回一个字段。
如果是整行那么试试
$myarr = array(); // initialize
while($row = $result->fetch_assoc()) {
$myarr[] = $row;
}
print_r($myarr);
这将为您提供一个包含n 行数组的数组。
【讨论】:
问题:
你只是一次又一次地分配结果
$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
注意:
我已经给出了好的和坏的方法来更新你应该做什么和不应该做什么:)
【讨论】: