用for循环替换while($ row = mysql_fetch_array($ res))循环

时间:2011-10-14 14:55:53

标签: php mysql loops for-loop while-loop

我想知道如何替换这个循环: while($ row = mysql_fetch_array($ res)) 通过for循环。

我想知道,因为在我的网站上,我想在我的网站上显示数据,但第一行需要不同的布局。

所以我想拥有的是这样的:

$row[0]

for ($i = 1; $i <= mysql_num_rows($result); $i++) {
$row[$i]
}

我在这里尝试了一些搜索,但是找不到对我来说合乎逻辑的东西:我看到的大多数例子都会对服务器执行一个新的SQL查询,这对速度来说不是很好,是吗?

请告诉我!

3 个答案:

答案 0 :(得分:4)

我不这样做。我会做这样的事情:

$first=true;
while ($row=mysql_fetch_array($res)) {
    if ($first) {
        //Extra formatting or whatever you need to do can go here
    }
    //Other code goes here
    $first=false;
}

答案 1 :(得分:0)

每次运行mysql_fetch_array时,它都会获取 next 行,因此您可以在循环外运行一次,然后让循环遍历其余行。

发生的是mysql_data_seek导致它在顶部重启,但你不是那样做的!

实施例

$row = mysql_fetch_array($res);
# process first row here

while ($row = mysql_fetch_array($res)) {
    # process second and subsequent rows here
}

答案 2 :(得分:-1)

for ($i = 1; $row = mysql_fetch_row($result); $i++) {
  $row[$i]
}

当然它是文字的,但完全没用的答案 要在您的网站上显示数据,您应该使用模板 因此,您必须首先将数据放入数组