2010-11-19 62 views
0

如果我有一个检索记录的while循环,我希望能够在循环进行时将记录封装在一定数量的记录之后对记录进行分隔。分隔记录PHP

(使用while循环):

Record 1 
Record 2 
Record 3 
Record 4 
Record 5 
Record 6 
Record 7 

但我需要组的记录是这样的:

<div class="wrap"> 
Record 1 
Record 2 
Record 3 
</div> 
<div class="wrap"> 
Record 4 
Record 5 
Record 6 
</div> 
Record 7 

因此,当它超过3个以上就应该换,每3计数。

回答

4
$index = 0; 

while (...) { 
    if ($index == 0) { 
     echo '<div class="wrap">'; 
    } elseif (($index % 3) == 0) { 
     echo '</div><div class="wrap">'; 
    } 

    // Output your stuff 

    $index++; 
} 

if ($index != 0) { 
    echo '</div>'; 
} 
+0

好东西。谢谢 :) – MacMac 2010-11-19 18:32:46

1
<?php 

// Dummy data 
$records = array('1','2','3','4','5','6','7'); 

// While we have at least 3 records, group them 
while (count($records) > 3) { 
    $subs = array_splice($records,0,3); 
    print '<div class="wrap">'.implode(PHP_EOL, $subs).'</div>'; 
} 

// Dump the rest 
print implode(PHP_EOL, $records) 

?>