Php 如何交替显示div

Php 如何交替显示div,php,html,css,Php,Html,Css,您好,我想在左侧图像和右侧图像上交替显示图像和说明1记录。有人能帮我吗?谢谢。更新 在了解您的情况后,请尝试以下操作: 为节类添加一个类变量 使用三元运算符进行设置 使用CSS更改定位 这将使CSS更负责定位,如果需要更改布局,可能会减少重构php代码的次数 <?php $result1 = db_getarticles( array('campaigns_id' => $SYS_campaign) ); if (!is_null($result1)) { whi

您好,我想在左侧图像和右侧图像上交替显示图像和说明1记录。有人能帮我吗?谢谢。

更新

在了解您的情况后,请尝试以下操作:

为节类添加一个类变量

使用三元运算符进行设置

使用CSS更改定位

这将使CSS更负责定位,如果需要更改布局,可能会减少重构php代码的次数

<?php 
  $result1 = db_getarticles( array('campaigns_id' => $SYS_campaign) );
  if (!is_null($result1)) { 
    while ( $row = $result1->fetch_object() ) {
?>

<div class="section">
<div class="leftinfo" style="height:178px;width:408;" >
<?php
      echo "<img style='height:178px;width:402px;' src='$SYS_folder/images/articles/$row->imagearticle' alt=''   />"; 
?>
  </div>
  <div class="rightinfo">
  <strong> 
<?php 
      echo $row->titlearticle; 
?>
</strong></br>
<?php 
      echo $row->descparticle; 
?>
</div>
<div class="clear">
</div>
<div class="seperator"></div>
</div>
<?php 
    }
  } 
?>
HTML中的示例:

结束更新

如果你有未来,请在解决你的问题上表现出更多的努力

我已经使用display:inline块为您提供了两列。请参阅关于在浮动上使用内联块的利弊的文章

更改php以生成以下HTML

.section{width:500px; height:200px; clear:both;}

.section img{width:402px; height:178px;float:left}
.section .info {float:right}

/*Swap Position Of image and description*/
.section.alt img{float:right}
.section.alt .info {float:left; }
例如:

请注意,你最好把你的标题放在一个合适的hx标签中,例如h1…h6,并且图片可以用CSS类进行样式化。例如:

.section {
position:relative;
margin-bottom:5px;
}

.section .leftinfo, .section .rightinfo {
    display:inline-block;
    vertical-align:top;
}

.leftinfo{ height:178px;width:408;}
此外,根本没有理由将图像包装在div中


稍微优化的示例:

据我所知,您正在询问如何确定应用不同样式的备用div

您应该使用CSS类来提供divs替代效果

.section img {height:178px;width:402px; }
在PHP代码之前的while循环中有一个变量

.section{width:500px; height:200px;}
.rightinfo{ float : right; }
.leftinfo{ float : left; }
.section img{width:402px; height:178px;}
在while循环中递增并检查奇数/偶数值以应用正确的类

$style = 0;
将这些类分配给HTML元素

$style++;
if($style % 2 == 0){
    $imgClass = 'leftinfo';
    $descClass = 'rightinfo';
} else {
    $imgClass = 'rightinfo';
    $descClass = 'leftinfo';
}

请重新缩进代码,使其更具可读性。我已经完成了代码格式化。现在,该图像和描述正在动态显示,它一个接一个地显示,但我想交替显示,如…左侧第一条记录图像,右侧第二条记录的描述。您尝试过CSS吗?我们希望看到一些努力来解决你自己的问题。试着用谷歌搜索CSS浮动或内联块,我也建议你检查HTML输出,使用适当的hx标签作为你的标题,删除br标签!
$style = 0;
$style++;
if($style % 2 == 0){
    $imgClass = 'leftinfo';
    $descClass = 'rightinfo';
} else {
    $imgClass = 'rightinfo';
    $descClass = 'leftinfo';
}
<div class="<?php echo $imgClass; ?>"> .... </div>
<div class="<?php echo $descClass; ?>"> .... </div>