Php 如何在同一时间迭代2个div?

Php 如何在同一时间迭代2个div?,php,html,loops,iteration,Php,Html,Loops,Iteration,我试图同时遍历2个div,以便从数据库中回显数据。每个div都有自己的风格,我希望在不重复每个div两次的情况下继续迭代,而不会丢失我的divs风格。即使我从数据库中删除任何帖子,我也不想失去div设计安排(奇数/偶数显示),任何帮助或建议 // class getAll to get all posts from db tables class getALL { private $pdo; public function __construct() { $this->

我试图同时遍历2个div,以便从数据库中回显数据。每个div都有自己的风格,我希望在不重复每个div两次的情况下继续迭代,而不会丢失我的divs风格。即使我从数据库中删除任何帖子,我也不想失去div设计安排(奇数/偶数显示),任何帮助或建议

// class getAll to get all posts from db tables

class getALL { 
  private $pdo;

  public function __construct() {
    $this->pdo = db::getInstance();
  }

  public function get() {
    $sql = "SELECT * FROM `posts`";
    $q = $this->pdo->prepare($sql);
    $q->execute();
    if($q->rowCount()) {
      return $q->fetchAll(PDO::FETCH_OBJ);
    }
    return false;
  } 
}
这里是两个div的一部分

// the 2 divs with iteration

<? if(is_array($getArticles) || is_object($getArticles)): ?>
<? foreach($getArticles as $getArticle): ?>
<? if($getArticle->id % 2 == 0) { ?>  //odd/even logic 
    <!-- One -->
        <article id="one" class="post style1">
            <div class="image">
                <img src="<?='images/'.$getArticle->image_name?>" alt="" data-position="75% center" />
            </div>
            <div class="content">
                <div class="inner">
                    <header>
                        <h2><a href="post.html"><?=$getArticle->title?></a></h2>
                        <p class="info"><?=$getArticle->post_time?> by <a href="#"><?=$getArticle->username?></a></p>
                    </header>
                    <p><?=$getArticle->post?></p>
                    <ul class="actions">
                        <li><a href="post.php" class="button alt">Read More</a></li>
                    </ul>
                </div>
            </div>
        </article>

<? }else{ ?>

    <!-- two -->
        <article id="four" class="post invert style2 alt">
            <div class="image">
                <img src="<?='images/'.$getArticle->image_name?>" alt="" data-position="60% center" />
            </div>
            <div class="content">
                <div class="inner">
                    <header>
                        <h2><a href="post.php"><?=$getArticle->title?></a></h2>
                        <p class="info"><?=$getArticle->post_time?> by <a href="#"><?=$getArticle->username?></a></p>
                    </header>
                    <p><?=$getArticle->post?></p>
                    <ul class="actions">
                        <li><a href="post.php" class="button alt">Read More</a></li>
                    </ul>
                </div>
            </div>
        </article>

<? } ?>
<? endforeach; ?>
<? endif; ?>
//带迭代的2个div
//奇偶逻辑


使用简单的
$counter
变量将两个div组合在一起并实现奇偶逻辑,而不是
$getArticle->id
。这样,当你删除一篇文章时,它不会破坏div的安排。以下是解决方案:

<?php $counter = 0; ?>
<?php if(is_array($getArticles) || is_object($getArticles)): ?>
<?php foreach($getArticles as $getArticle): ?>

<article id=<?php if($counter % 2 == 0){ echo "one"; }else{ echo "four"; } ?> class="post<?php if($counter % 2 == 0){ echo " style1"; }else{ echo " invert style2 alt"; } ?>">
    <div class="image">
        <img src="<?='images/'.$getArticle->image_name?>" alt="" data-position="<?php if($counter % 2 == 0){ echo "75%"; }else{ echo "60%"; } ?> center" />
    </div>
    <div class="content">
        <div class="inner">
            <header>
                <h2><a href="post.php"><?=$getArticle->title?></a></h2>
                <p class="info"><?=$getArticle->post_time?> by <a href="#"><?=$getArticle->username?></a></p>
            </header>
            <p><?=$getArticle->post?></p>
            <ul class="actions">
                <li><a href="post.php" class="button alt">Read More</a></li>
            </ul>
        </div>
    </div>
</article>

<?php ++$counter; ?>
<?php endforeach; ?>
<?php endif; ?>


是不是只有类别变化才不同?如果是这样,您可以使用
:第n个子项(奇数)
第n个子项(偶数)
设置它们的样式。此外,您的循环将导致重复的id此代码工作正常,但问题是当我尝试从数据库中删除帖子的奇数/偶数编号时,id会破坏div排列和stylethnX,这对我很有帮助well@MostafaEsmat不客气!如果答案解决了您的问题,请接受。