在foreach中包裹div.container

时间:2015-09-13 15:29:37

标签: php html containers counter

也许这是一个简单的问题。 我有一个简单的PHP foreach脚本,输出结果很好。我需要为每隔一个项目使用容器div包装结果。例子可能是:

什么脚本看起来像

$result = $wpdb->get_results('SELECT id, fdate, tdate FROM database');
$i = 0;
foreach ($result as $date):
   $i++; 
   echo '<div class="range" data-range="'. $date->id .'">';
   echo 'test';
   echo '</div>';
endforeach;

将输出:

<div class="range" data-range="00000000"></div>
<div class="range" data-range="00000000"></div>
<div class="range" data-range="00000000"></div>
<div class="range" data-range="00000000"></div>
<div class="range" data-range="00000000"></div>
<div class="range" data-range="00000000"></div>

但是我需要以下示例:每隔一个结果包含一个容器div。像这样:

<div class="container">
<div class="range" data-range="00000000"></div>
<div class="range" data-range="00000000"></div>
</div>
<div class="container">
<div class="range" data-range="00000000"></div>
<div class="range" data-range="00000000"></div>
</div>
<div class="container">
<div class="range" data-range="00000000"></div>
<div class="range" data-range="00000000"></div>
</div>

我尝试过:

$result = $wpdb->get_results('SELECT id, fdate, tdate FROM database');
$i = 0;
foreach ($result as $date):
   $i++; 
   if($i%2 == 0) {
     echo $i > 0 ? "</div>" : "";
     echo "<div class='container'>";
   }
   echo '<div class="range" data-range="'. $date->id .'">';
   echo 'test';
   echo '</div>';
endforeach;

但是这对我正在寻找的结果无法正常工作:) 想法? =)

1 个答案:

答案 0 :(得分:2)

此代码段可以为您提供所需

$result = $wpdb->get_results('SELECT id, fdate, tdate FROM database');
$i = 0;
foreach ($result as $date):
   $i++;
   if($i%2 == 1) {
       echo '<div class="container">';
   }
   echo '<div class="range" data-range="'. $date->id .'"></div>';
   if($i%2 == 0) {
       echo '</div>';
   }
endforeach;