PHP中具有不同div类的循环中的图像

PHP中具有不同div类的循环中的图像,php,html,css,loops,Php,Html,Css,Loops,假设我有像贝娄这样的代码 <?php $sql = "SELECT * FROM images"; $query = mysql_query($sql); while($row = mysql_fetch_assoc($query)) { echo '<div class="single">'; echo '<img src="'.$row['image'].'" alt="'.$row['title'].' " />'; echo '&

假设我有像贝娄这样的代码

<?php 
$sql = "SELECT * FROM images";
$query = mysql_query($sql);

while($row = mysql_fetch_assoc($query)) {
    echo '<div class="single">';
    echo '<img src="'.$row['image'].'" alt="'.$row['title'].' " />';
    echo '</div>';
} 
?>
如何通过循环完成,请帮助

谢谢:

这个怎么样:

<?php 
$sql = "SELECT * FROM images";
$query = mysql_query($sql);

$x=0; 
while($row = mysql_fetch_assoc($query)) {
    $x++;
    if ( $x == 1 ) { $c = ' first'; } 
        elseif ( $x == 5 ) { $c = ' last'; }
        else { $c = ''; }

    echo '<div class="single' . $c . '">';
    echo '<img src="'.$row['image'].'" alt="'.$row['title'].' " />';
    echo '</div>';
} 
?>
$index = 0;
while($row = mysql_fetch_assoc($query)) {
    $classes = 'single';
    switch ($index % 5) {
      case 0:
        $classes .= ' first';
        break;
      case 4:
        $classes .= ' last';            
        break;
    }
    echo <<<HTML
<div class="$classes">
  <img src="{$row['image']}" alt="{$row['title']}" />
</div>;
HTML;

    $index++;
}

作为旁注,您考虑过使用CSS第n个子属性吗?

您需要计算迭代次数,并使用模函数获得5的部分:

$sql = "SELECT * FROM images";
$query = mysql_query($sql);

$i = 0;
while($row = mysql_fetch_assoc($query)) {
    if($i % 5 == 0)
      echo '<div class="single first">';
    else if($i % 5 == 4) 
      echo '<div class="single last">';
    else
      echo '<div class="single">';
    echo '<img src="'.$row['image'].'" alt="'.$row['title'].' " />';
    echo '</div>';
    $i++;
} 
使用:


您在$clas='last'处有一个输入错误;您需要在class=single'后面添加一个空格,否则这些类将一起运行,例如class=singlelast。感谢您的回答,但它无法显示class=singlelast请帮助查看我的编辑-检查last,您需要检查$i%5==4而不是==-1-PHP不擅长代数:/谢谢您的回答,但它没有显示class=singlefirstright您是!我已经更新了代码,但看起来您已经开始工作了:
$sql = "SELECT * FROM images";
$query = mysql_query($sql);

$i = 0;
while($row = mysql_fetch_assoc($query)) {
    if($i % 5 == 0)
      echo '<div class="single first">';
    else if($i % 5 == 4) 
      echo '<div class="single last">';
    else
      echo '<div class="single">';
    echo '<img src="'.$row['image'].'" alt="'.$row['title'].' " />';
    echo '</div>';
    $i++;
} 
<?php 
$sql = "SELECT * FROM images";
$query = mysql_query($sql);

$i = 0;
$class = "";

while($row = mysql_fetch_assoc($query)) {

    if($i % 5 == 0){
        $class = 'first';
    }else if($i % 5 == 4){
        $class = 'last';
    }else{
        $class = "";
    }

    echo '<div class="single ' . $class . '">';
    echo '<img src="'.$row['image'].'" alt="'.$row['title'].' " />';
    echo '</div>';

    $i++;
} 
?>