下面的代码创建了html表数据。
第1行是正确的,并使用$ row ['LNAME']返回column1,然后使用所有$ row1 ['NAME']结果返回column2(有4个)。
第2行及以后仅回显第1列和第2列中的空单元格。
while ($row = $sql->fetch_assoc()){
echo "<tr>";
echo "<td>";
echo $row['LNAME'];
echo "</td>";
echo "<td>";
while($row1 = $sql1->fetch_assoc()){
echo $row1['NAME'] . "<br>";
}
echo "</td>";
echo "</tr>";
}
在内部循环完成之后,似乎在外部循环的未来迭代中评估为false,我希望它评估为true。
我应该改变什么,以便内循环在外循环没有评估为假?
答案 0 :(得分:0)
您需要使用mysql_data_seek($rs, 0)
重置第一行的结果指针。这是假设mysql
隐藏在您的对象后面。 mysqli
分别使用mysqli_data_seek
答案 1 :(得分:0)
这是因为你在$ sql1的末尾。您可以再次寻找它的开头,但我的偏好是将数据从数据库和迭代中分离出来,所以我会这样写(使用您的代码作为起点):
$lname = array();
while($row = $sql->fetch_assoc()){
$lname[] = $row;
}
$name = array();
while($row1 = $sql1->fetch_assoc()){
$name[] = $row1;
}
foreach($lname as $lvalue) {
echo "<tr>";
echo "<td>";
echo $lvalue;
echo "</td>";
echo "<td>";
foreach($name as $value) {
echo $value . "<br>";
}
echo "</td>";
echo "</tr>";
}