PHP - 以不同于其他方式的方式显示第一条记录

时间:2014-07-31 09:09:57

标签: php mysqli

我应该从数据库中提取数据,然后以与其他方式不同的方式显示第一条记录。 我已经这样做了,但看起来有点麻烦

$result = $this->db->mysqli->query("SELECT filename FROM photos WHERE id = $id order by ordering");

if ($result)
{
    while($row = $result->fetch_array(MYSQLI_ASSOC))
    {
        $rows[] = $row;
    }
}


$count = count($rows);

for ($i = 0; $i < $count; $i++)
{
    if ($i == 1)
    {
         echo $rows[$i]['filename']. "<br>";
    }
    else
    {
         echo $rows[$i]['filename']. "<br>";
    }
}

的var_dump($行)

array
0 => 
  array
    'filename' => string '69_1.jpg' (length=17)
1 => 
  array
    'filename' => string '69_2.jpg' (length=17)
2 => 
  array
    'filename' => string '69_3.jpg' (length=17)

有一种更好,更清洁的方法。感谢

2 个答案:

答案 0 :(得分:1)

$first = true;

while (...) {  // or foreach () or whatever
    if ($first) {
        ...
        $first = false;
    } else {
        ...
    }
}

答案 1 :(得分:1)

我不知道为什么你先创建一个数组然后循环显示它,你可以这么简单地用

$result = $this->db->mysqli->query("SELECT filename FROM photos WHERE id = $id order by ordering");

if ($result)
{
    $first = true;
    while ($row = $result->fetch_array(MYSQLI_ASSOC))
    {
        if ( $first)
        {
            // display your first row here
            $first = false;
            continue;
        }

        // display other rows here
    }
}