while($row = mysql_fetch_assoc($sql1))
$sqldiag=$conn->query("select di_name from assi_diagnosis where di_id IN ($disp1$j)");
$i == "0";
$items = array();
while($rsdiag=mysql_fetch_array($sqldiag))
{
echo $rsdiag['di_name'].">>";
$items[$i] = $rsdiag['di_name'];
print_r($items);
}
$i++;
朋友们,我想在处理 while 循环时将值保存在数组中。 我的期望是当第一个循环条件被执行时 $item[0] 应该包含第二个 while 循环迭代的所有结果集值 例如 : (
$item[0] = {value1,value2,value3};
$item[1] = {value1,value2,value3};
$item[2] = {value1,value2,value3};
(
$item[0] 是第一次迭代的值在 $item[0] 中的值是秒 while 循环的值
Keep $i++ inside loop。
while($rsdiag=mysql_fetch_array($sqldiag))
{
echo $rsdiag['di_name'].">>";
$items[$i] = $rsdiag['di_name'];
$i++;// this line
}
print_r($items);// print here
$i = 0;
$items = array();
while ($row = mysql_fetch_assoc($sql1)) {
$items[$i] = array();
$sqldiag = $conn->query("select di_name from assi_diagnosis where di_id IN ($disp1$j)");
while($rsdiag=mysql_fetch_array($sqldiag))
{
echo $rsdiag['di_name'].">>";
array_push($items[$i], $rsdiag['di_name']);
print_r($items);
}
$i = $i + 1;
}
print_r($items);
您的代码中有几个错误。
- 第一个循环
while
没有左括号或右括号, - 您使用条件运算符
==
而不是=
将值分配给$i
, - 每次运行第二个循环时,它都会覆盖
$items[$i]
值,而不是作为数组推送到它,使用array_push
,使用 if 对于要分配的所有$rsdiag
值,
你的代码有几个小问题,在这里得到了修复
<?php
while($row = mysql_fetch_assoc($sql1)) {
$sqldiag=$conn->query("select di_name from assi_diagnosis where di_id IN ($disp1$j)");
$items = array();
$i = 0;
while($rsdiag=mysql_fetch_array($sqldiag))
{
echo $rsdiag['di_name'].">>";
$items[$i] = $rsdiag['di_name'];
print_r($items);
$i++;
}
}
问题:
$i == "0";
也应该$i = 0;
while($row = mysql_fetch_assoc($sql1))
缺少{