来自mysql的每个第二项在不同的div框中

时间:2016-10-04 13:44:29

标签: php html mysql

我有两个不同的html div框,我想用我的数据库中的数据填充它们,如div 1 - div 2 - div 1 - div 2。为此,我尝试使用计数器并使每个第二个框为div 2,但似乎不起作用..我得到了一倍的结果。

这是我到目前为止所尝试的内容

$result = $pdo->prepare("SELECT * from projects");
$result->execute();
$counter=0;

for($i=0; $row = $result->fetch(); $i++)
{               
    $counter++;
    echo '                  
            <div class="itemm w_30">
                 // load data
            </div>';
    if($counter%2==0)
    {                                       
          echo '<div class="itemm w_40">
                   // load data
                </div> ';                       

    }           
}

所以在页面上我想看到像

这样的数据
<div class="itemm w_30">
     // data
</div>
<div class="itemm w_40">
    // data
</div>
<div class="itemm w_30">
     // data
</div>
<div class="itemm w_40">
    // data
</div> 

4 个答案:

答案 0 :(得分:4)

您需要将所有div放入IF ELSE块

 if($counter%2==0)
    {                                       
          echo '<div class="itemm w_40">
                   // load data
                </div> ';                       

    } else {
 echo '                  
            <div class="itemm w_30">
                 // load data
            </div>';
}

答案 1 :(得分:2)

只需在else上写下第一个回音

$result = $pdo->prepare("SELECT * from projects");
$result->execute();
$counter=0;

for($i=0; $row = $result->fetch(); $i++)
{               
$counter++;

if($counter%2==0)
{                                       
      echo '<div class="itemm w_40">
               // load data
            </div> ';                       

}  else{
echo '                  
        <div class="itemm w_30">
             // load data
        </div>';
}         
 }

答案 2 :(得分:1)

只需使用三元运算符即可设置所需的类名

$result = $pdo->prepare("SELECT * from projects");
$result->execute();
$onLeft = true;

while( $row = $result->fetch() ) {               

    $class = $onLeft ? "itemm w_30" : "itemm w_40";

    echo "<div class='$class'>";
        // Show data
    echo '</div>';

    $onLeft = !$onLeft;
}

答案 3 :(得分:1)

只需使用% for循环,无需使用counter变量。

for($i=0; $row = $result->fetch(); $i++)
{               
    if($i%2==0)
    {                                       
        echo '<div class="itemm w_40">
                   // load data
                </div> ';                       
    }       
    else
    {
         echo '<div class="itemm w_30">
                 // load data
            </div>';
    } 
}