从最后8行中选择2个特定行以进行不同的显示

时间:2013-04-18 18:53:38

标签: php mysql

我正在尝试使用最近的帖子创建主页(博客)。

我希望最近的2个用于不同的显示器[html& css]和另外6个与他们不同的东西。 就像在这张照片中...... http://i.imgur.com/T0imWxM.jpg

编辑1

// Gets 2 recent posts [displayed in 2 big boxes]
    function get_important_posts() {
    global $dblink;
    mysqli_set_charset($dblink, 'utf8');
       // if () {
            $result = mysqli_query($dblink ,"SELECT * 
                                                                    FROM `posts` 
                                                                    ORDER BY `post_id` 
                                                                    DESC LIMIT 0,2") or die(mysqli_connect_error($dblink));
            $rowNumber = 0;
            while ($row = mysqli_fetch_array($result) ) {
                if ($rowNumber < 1) {
                    echo  '<div class="bigbox right">
                    <a href="post.php?id=' . $row['post_id'] .'">
                    <div class="bigboximg"><img src="'. $row['bigthumb'] .'" width="390" alt="' . $row['title'] .'"></div></a>
                    <a href="post.php?id=' . $row['post_id'] .'"><div class="bigboxtitle">' . $row['title'] . '</div></a>
                    <div class="bigboxexcerpt">'. $row['excerpt'] . '</div>
                    </div>';
                    $rowNumber++;
                } else {
                    echo  '<div class="bigbox left">
                    <a href="post.php?id=' . $row['post_id'] .'">
                    <div class="bigboximg"><img src="'. $row['bigthumb'] .'" width="390" alt="' . $row['title'] .'"></div></a>
                    <a href="post.php?id=' . $row['post_id'] .'">
                    <div class="bigboxtitle">' . $row['title'] . '</div></a>
                    <div class="bigboxexcerpt">'. $row['excerpt'] . '</div></div>';
                    $rowNumber++;
                    }

            }
    }
//}

    // Gets 5 recent posts after the 2 recent posts
    function get_posts() {
    global $dblink;
    mysqli_set_charset($dblink, 'utf8');
    $result = mysqli_query($dblink ,"SELECT * 
                                                             FROM `posts` 
                                                             ORDER BY `post_id` 
                                                             DESC LIMIT 2,5") or die(mysqli_connect_error($dblink));
    while ($row = mysqli_fetch_array($result) ) {
            echo  '<div class="box">
            <a href="post.php?id=' . $row['post_id'] .'">
            <div class="boximg"><img src="'. $row['smallthumb'] .'" width="130" alt="' . $row['title'] .'"></div></a>
            <a href="post.php?id=' . $row['post_id'] .'">
            <div class="boxtitle">' . $row['title'] . '</div></a>
            <div class="boxexcerpt">'. $row['excerpt'] . '</div></div>';            
       }
    }

2 个答案:

答案 0 :(得分:1)

简单地使用计数器变量并为前两个添加特殊的类标记。

    $special_rows = 2;
    while ($row = mysqli_fetch_array($result) ) {
        $class = '';
        if ($special_rows > 0)
            $class = 'special';
        echo  '<a class="' . $class . '" href="post.php?id=' . $row['post_id'] .'"><strong>' . $row['title'] . '</strong></a><br>'. $row['excerpt'];
        $special_rows --;
    }

或者如果你想要不同的标记:

    $special_rows = 2;
    while ($row = mysqli_fetch_array($result) ) {
        if ($special_rows > 0) {
            // First or second row
            echo '<a href="post.php?id=' . $row['post_id'] .'"><strong>' . $row['title'] . '</strong></a><br>'. $row['excerpt'];
        }
        else {
            echo 'All the other boring rows';
        }
        $special_rows --;
    }

答案 1 :(得分:0)

$result = mysqli_query($dblink ,"SELECT * FROM `posts` ORDER BY `post_id` DESC LIMIT 10");
$rowNumber = 0;
while ($row = mysqli_fetch_array($result) ) {
   if($rowNumber++ < 2){
       echo "special row";
   }
   echo  '<a href="post.php?id=' . $row['post_id'] .'"><strong>' . $row['title'] . '</strong></a><br>'. $row['excerpt'];
}