Unknown Error
Unknown Error

Reputation: 797

How do I group a div in some class on MySQL while

I want add a different class on my MySQL result.

<?php while ($fetch = $db->fetch($query)) { ?>
<div class="result"><?php echo $fetch['title']; ?></div>
<?php } ?>

Output should be like this

<div class="group">
  <div class="result">Title</div>
  <div class="result">Title</div>
  <div class="result">Title</div>
  <div class="result">Title</div>
  <div class="result">Title</div>
  <div class="result">Title</div>
</div>

<div class="group">
  <div class="result">Title</div>
  <div class="result">Title</div>
  <div class="result">Title</div>
  <div class="result">Title</div>
  <div class="result">Title</div>
  <div class="result">Title</div>
</div>

<div class="group">
  <div class="result">Title</div>
  <div class="result">Title</div>
  <div class="result">Title</div>
</div>

Here, every 6 results will have <div class="group"></div>.

Let me know

Upvotes: 0

Views: 354

Answers (3)

rayman86
rayman86

Reputation: 1395

create a counter that increments every time the loop is ran, then at the beginning of each loop check the value. if the value == 6 then close the current div and open a new one with the class change (you could make 2 counters to flip flop back and forth). Reset your counter after the div change.

--edit added code--

Make yourself 2 'group' div classes, 'group1' and 'group0' for the flip-flop

<div class="group1">
<?php
$count = 0;
$divstyle = 1;
while ($fetch = $db->fetch($query)) {
    if (++$count == 6) {
        echo '</div><div class="group'.(++$divstyle % 2).'">';
        $count = 0;
    }
    echo '<div class="result">' . $fetch['title'] . '</div>';
}
?>
</div>

Upvotes: 1

Jonah
Jonah

Reputation: 10091

<div class="group">
<?php
$count = 0;
while ($fetch = $db->fetch($query)) {
    if (++$count == 6) {
        echo '</div><div class="group">';
        $count = 0;
    }
    echo '<div class="result">' . $fetch['title'] . '</div>';
}
?>
</div>

Upvotes: 2

Brandon Frohbieter
Brandon Frohbieter

Reputation: 18139

This might be a bit bad...

<?php $cnt=0;while ($fetch = $db->fetch($query)) { ?>
<div class="result"><?php if($cnt%6==0){echo "<div class=\"group\">";} echo $fetch['title'];if($cnt%6==0){echo "</div>";} $cnt++;?></div>
<?php } ?>

Upvotes: 1

Related Questions