-2

PHP:

<?php
$stmt = $db->prepare("SELECT * FROM `users`");
$stmt->execute();
$result = $stmt->get_result();

//<div class="ui stackable six cards">

if($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo $one[] = "image div".$row["avatar"]."image div";
    echo $two[] = "content div".$row["username"]."content div";
  }
  echo "</table>";
}
$stmt->close();
?>

HTML:

<div class="ui center aligned stackable grid container" style="padding: 4em !important;">
                <div class="center aligned row">
                    <div class="column">
                        <h2 class="header">Members </h2>
                    </div>
                </div>

                <div class="ui stackable six cards">
                    <div class="ui card small">
                        <div class="image">
                            <img src="assets/img/players/.jpg">
                        </div>

                        <div class="content">
                            <a class="header"></a>
                        </div>
                    </div>

                    <div class="ui card small">
                        <div class="image">
                            <img src="assets/img/players/.jpg">
                        </div>

                        <div class="content">
                            <a class="header"></a>
                        </div>
                    </div>
                    <div class="ui card small">
                        <div class="image">
                            <img src="assets/img/players/.jpg">
                        </div>

                        <div class="content">
                            <a class="header"></a>
                        </div>
                    </div>
                    <div class="ui card small">
                        <div class="image">
                            <img src="assets/img/players/.jpg">
                        </div>

                        <div class="content">
                            <a class="header"></a>
                        </div>
                    </div>

                    <div class="ui card small">
                        <div class="image">
                            <img src="assets/img/players/.jpg">
                        </div>

                        <div class="content">
                            <a class="header"></a>
                        </div>
                    </div>

                    <div class="ui card small">
                        <div class="image">
                            <img src="assets/img/players/.jpg">
                        </div>

                        <div class="content">
                            <a class="header"></a>
                        </div>
                    </div>
                </div>

                <div class="ui stackable six cards">
                    <div class="ui card small">
                        <div class="image">
                            <img src="assets/img/players/.jpg">
                        </div>

                        <div class="content">
                            <a class="header"></a>
                        </div>
                    </div>

                    <div class="ui card small">
                        <div class="image">
                            <img src="assets/img/players/.jpg">
                        </div>

                        <div class="content">
                            <a class="header"></a>
                        </div>
                    </div>
                    <div class="ui card small">
                        <div class="image">
                            <img src="assets/img/players/.jpg">
                        </div>

                        <div class="content">
                            <a class="header"></a>
                        </div>
                    </div>
                    <div class="ui card small">
                        <div class="image">
                            <img src="assets/img/players/.jpg">
                        </div>

                        <div class="content">
                            <a class="header"></a>
                        </div>
                    </div>
                    <div class="ui card small">
                        <div class="image">
                            <img src="assets/img/players/.jpg">
                        </div>

                        <div class="content">
                            <a class="header"></a>
                        </div>
                    </div>

                    <div class="ui card small">
                        <div class="image">
                            <img src="assets/img/players/.jpg">
                        </div>

                        <div class="content">
                            <a class="header"></a>
                        </div>
                    </div>
                </div>
            </div>

So basically what I need to figure out, is how exactly I would get

//<div class="ui stackable six cards">

To echo everytime 6 rows have been reached! Is this possible?

I assume I would use a foreach loop?

What I need it to do is echo the avatar and username from the database and lay it out in my HTML code, I can do that fine.

But the problem is I have no idea as to how I would make it add in this code every 6 rows (and a at the end)

P.S. I can't speak English very well, so I really hope you get what I mean!

dallider
  • 1
  • 2

3 Answers3

0

I will reference this question since this is what you need: checking if a number is divisible by 6 PHP

Your logic you should basically be: If a number is divisible by 6 then do something otherwise do something else.

if ($row_number % 6 == 0) {
    // Row number is 6, 12, 18 and so on
} else {
    // Other rows
}
Pablo
  • 5,897
  • 7
  • 34
  • 51
  • This is more of a hint/comment than an answer. The complete solution has more moving parts. Please see my answer. – mickmackusa Jan 29 '18 at 02:45
  • @mickmackusa Some times that is what people need, a hint. Thank you for your feedback. – Pablo Jan 29 '18 at 02:48
0

I recommend you check this http://php.net/manual/en/function.array-chunk.php

Example:

$rows = array_chunk($yourArrayfetch, '3'); // 3 = column count;
foreach ($rows as $columns) {
    echo "<div class='row'>";
    foreach ($columns as $column) { 
        echo "<div class='column'>$column</div>"; 
    }
    echo "</div>";
}
0

See my inline comments for how my answer works.

Also, you don't really need a prepared statement for your case and you should only include the columns that you intend to use in your SELECT clause.

Code: (Demo)

$resultset=[
    ['avatar'=>1,'username'=>'A'],
    ['avatar'=>2,'username'=>'B'],
    ['avatar'=>3,'username'=>'C'],
    ['avatar'=>4,'username'=>'D'],
    ['avatar'=>5,'username'=>'E'],
    ['avatar'=>6,'username'=>'F'],
    ['avatar'=>7,'username'=>'G']
];
if(sizeof($resultset)){  // your num rows
    $counter=0;  // initialize the counter
    foreach($resultset as $row){ // you while loop
        if($counter%6==0){  // see if counter is evenly divisible by 6
            if($counter){
                echo "</div>";  // if counter does not equal zero, close previous group
            }
            echo "<div class='ui stackable six cards'>";  // start new group
        }
        echo "<div class='ui card small'>";
            echo "<div class='ui card small'><div class='image'><img src='".$row["avatar"]."'></div>";
            echo "<div class='content'><a class='header'>Dias".$row["username"]."</a></div></div>";
        echo "</div>";
        ++$counter;  // increment counter
    }
    echo "</div>";  // always close the final group
}

Output:

<div class='ui stackable six cards'>
    <div class='ui card small'>
        <div class='ui card small'><div class='image'><img src='1'></div>
        <div class='content'><a class='header'>DiasA</a></div></div>
    </div>
    <div class='ui card small'>
        <div class='ui card small'><div class='image'><img src='2'></div>
        <div class='content'><a class='header'>DiasB</a></div></div>
    </div>
    <div class='ui card small'>
        <div class='ui card small'><div class='image'><img src='3'></div>
        <div class='content'><a class='header'>DiasC</a></div></div>
    </div>
    <div class='ui card small'>
        <div class='ui card small'><div class='image'><img src='4'></div>
        <div class='content'><a class='header'>DiasD</a></div></div>
    </div>
    <div class='ui card small'>
        <div class='ui card small'><div class='image'><img src='5'></div>
        <div class='content'><a class='header'>DiasE</a></div></div>
    </div>
    <div class='ui card small'>
        <div class='ui card small'><div class='image'><img src='6'></div>
        <div class='content'><a class='header'>DiasF</a></div></div>
    </div>
</div>
<div class='ui stackable six cards'>
    <div class='ui card small'>
        <div class='ui card small'><div class='image'><img src='7'></div>
        <div class='content'><a class='header'>DiasG</a></div></div>
    </div>
</div>
mickmackusa
  • 43,625
  • 12
  • 83
  • 136