选定的查询结果放置在更多DIV中

时间:2013-01-03 02:55:59

标签: php mysql

我试图从数据库中一次选择3个推荐书。对我来说没问题。但我的问题是我需要在同一时间将这3个推荐书放在3个DIV中..任何人都可以告诉我该怎么做?

    $q = "SELECT * FROM testimonials ORDER BY RAND() LIMIT 1";
        $r = mysqli_query($dbc, $q);

   while ( $row = mysqli_fetch_array($r, MYSQL_ASSOC) ) {


   }

 echo '<div class="testimonial-1">
                   <p>'. $testimonial. '</p>
                  </div>';

 echo '<div class="testimonial-2">
                   <p>'. $testimonial. '</p>
                  </div>';

 echo '<div class="testimonial-3">
                   <p>'. $testimonial. '</p>
                  </div>';

谢谢..

2 个答案:

答案 0 :(得分:1)

我对mysqli不太熟悉,因为我仍在使用mysql ..但我仍然可以就你的问题给出我个人的方法:     

$class_ctr = 1;
while ( $row = mysqli_fetch_array($r, MYSQL_ASSOC) ) {
    echo '<div class="testimonial-'.$class_ctr.'">
        <p>'. $row['column_name_to_display']. '</p>
    </div>';
    $class_ctr++;
}
?>

希望这会给你一个想法。

答案 1 :(得分:1)

$maxTestimonials = 3;
$query = "SELECT * FROM testimonials ORDER BY RAND() LIMIT $maxTestimonials";
$results = mysqli_query($databaseConnection, $query);

$count = 0;
$testimonialsTemplate = '<div class="testimonial-%d"><p>%s</p></div>';
while ($row = mysql_fetch_array($results, MYSQL_ASSOC))
{
    $count++;
    echo sprintf($testimonialsTemplate, $count, $row['column_name_to_display']);
}

我还建议您查看separation of concernsModel-View-Controller,这将有助于您以稍微更易维护(和可重复使用)的方式构建代码。