查询后我尝试显示数据。我只能收到'field_1 []'的数据。来自'field_2 []'和'field []'没有。如何解决?
if (!$result) {
die("Query to show fields from table failed");
}
$fields_num = mysql_num_rows($result);
//------------------------------------------------------------------
for($i_1=0; $i_1<$fields_num; $i_1++)
{
$field_1 = mysql_fetch_assoc($result);
echo "<td>a".$field_1['index_period_1']."</td>";
}
//------------------------------------------------------------------
//------------------------------------------------------------------
for($i=0; $i<$fields_num; $i++)
{
$field = mysql_fetch_assoc($result);
echo "<td>b".$field['index_period']."</td>";
}
//------------------------------------------------------------------
//------------------------------------------------------------------
for($i_2=0; $i_2<$fields_num; $i_2++)
{
$field_2 = mysql_fetch_assoc($result);
echo "<td>c".$field_2['index_period_2']."</td>";
}
编辑:----------------------
|------------|period_1 |period_1 |period_1 |
-----------------------------------------------
|period_2 |period |period |period |
-----------------------------------------------
|period_2 |period |period |period |
-----------------------------------------------
答案 0 :(得分:1)
你有点忽略了mysql_fetch_assoc()
和MySQL中的行:
while ($row = mysql_fetch_assoc($result)) {
echo $row['index_period'];
echo $row['index_period_1'];
echo $row['index_period_2'];
}
每行一次1}} 。
我不确定为什么你需要像这样循环你的桌子,但我不会询问你。
这可能符合您的需求(我畏缩写这个):
mysql_fetch_assoc()
答案 1 :(得分:0)
完成第一个for循环后,您已遍历整个结果集。因此,当您输入下一个for循环时,没有任何内容可以迭代,mysql_fetch_assoc()
返回false。如果要重置内部数据指针,可以调用
mysql_data_seek($result, 0);
这将使您能够在下一个for循环中重新遍历结果集。