2010-11-19 4 views
0

Si j'ai une boucle while qui récupère les enregistrements, je veux être en mesure de délimiter les enregistrements en les enveloppant après une quantité d'enregistrements pendant que la boucle est en cours, par ex.Délimiter les enregistrements PHP

(en utilisant une boucle while):

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

mais je dois les dossiers de groupe comme celui-ci:

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

Alors, quand il dépasse plus de 3 devrait envelopper chaque chef d'accusation 3.

Répondre

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

Good stuff. Merci :) – MacMac

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) 

?> 
Questions connexes