Mitch Evans
Mitch Evans

Reputation: 641

start PHP echo over every fourth mysql table row

I have a set of image url's in a database which I am echoing into an <img>tag to display on a website.

I am using bootstrap and have my basic model set up like this:

<div class="row-fluid gallery">
 <div class="span3">
  <img src="some fancy url here for the image">
 </div>
</div>

Now if you have ever used bootstrap you know once that span3 reaches 12 (basically when 4 images are displayed in the row). You must start the above all over to keep the images all in line.

I have a PHP script below that echoes out the image source and the above layout. The problem is, I have more than 4 images to echo out. I removed credentials for security purposes.

$con=mysqli_connect("localhost","username","password","db_name");
// Check connection
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM gallery");

while($row = mysqli_fetch_array($result))
{
    echo "<div class='row-fluid gallery'>";
        echo "<div class='span3'>";
            echo"<img src='". row['image_url']."'>";    
        echo "</div>";
    echo "</div>";
}

mysqli_close($con);

My question is how do you do something like:

for every 4th image {
 <div class="row-fluid gallery">
  <div class="span3">
   <img src="some fancy url here for the image">
  </div>
 </div>
}

Basically, I can say it in English and know what I need. But I can't say it in PHP and have it know what I need. Any help would be appreciated.

Upvotes: 1

Views: 347

Answers (2)

George Marques
George Marques

Reputation: 875

Create a counter variable outside the loop and check every fourth

$i = 1;
while($row = mysqli_fetch_array($result))
{
    // do every time
    if($i % 4 == 0)
    {
        // do only each 4th time
    }
    $i++;
 }

Upvotes: 2

Malkocoglu
Malkocoglu

Reputation: 477

$counter=0;
while($row = mysqli_fetch_array($result))
{
    echo "<div class='row-fluid gallery'>";
        echo "<div class='span3'>";
            echo"<img src='". row['image_url']."'>";    
        echo "</div>";
    echo "</div>";
    $counter++;
    if (!($counter%4)) 
        // do your fancy staff, this is the forth image
}

Upvotes: 0

Related Questions