Jump to content

Archived

This topic is now archived and is closed to further replies.

loz

php counter

Recommended Posts

In a galley I am working on there is a counter that sets the number of
images wanted in the row and
when that number is exceeded creates a new row of thumbnails:
http://www.justict.co.uk/galleries.php
<ul>
<?php
$counter = 0;
do { ?>

      <li> thumbnail images here</li>

<?php
  $counter++;
  if($counter % 4 == 0)
  {
    echo "</ul><ul>";

That works fine unless the number of images is 4, 8, 12, etc and then there
is an extra blank row shown.
any help appreciated
loz

Share this post


Link to post
Share on other sites
just rework the way you check for the end of your row:
[code]
<?php
$counter = 0;
while ($row = mysql_fetch_array($sql)) {
  if ($counter % 4 == 0) echo "<ul>\n"; // check for start of row
  // echo your item here
  $counter++;
  if ($counter % 4 == 0) echo "</ul>\n";
}
// now that we're done, check to see if the last row was closed
if ($counter %4 != 0) echo "</ul>\n";
?>
[/code]

hope this helps

Share this post


Link to post
Share on other sites
Hi,
Thanks for that, I cannot get the sytax right.
The repeating ul code looks like this:
[size=8pt]  [color=green]<ul>
    <?php
$counter = 0;
do { ?>
      <li><div><?php echo $row_rsGetImages['img_description']; ?></div><a href="galleries/<?php echo $row_rsGetImages['gallery_folder']; ?>/fullsize/<?php echo getFullName($row_rsGetImages['img_filename']); ?>"><img src="galleries/<?php echo $row_rsGetImages['gallery_folder']; ?>/thumbs/<?php echo $imgThumb = getThumbName($row_rsGetImages['img_filename']); ?>" alt="" width="60" height="60" title="<?php echo $row_rsGetImages['img_caption']; ?>" <?php echo picSize("galleries/".$row_rsGetImages['gallery_folder']."/thumbs/".$imgThumb); ?>></a>      </li>
<?php
$counter++; 
if($counter % 4 == 0)
{
echo "</ul><ul>";
}
  } while ($row_rsGetImages = mysql_fetch_assoc($rsGetImages)); ?>
  </ul>[/color][/size]

Any more help really appreciated :)

cheers

loz

Share this post


Link to post
Share on other sites
try this:
[code]
<?php
$counter = 0;
while ($row_rsGetImages = mysql_fetch_assoc($rsGetImages)) {
  if ($counter % 4 == 0) echo "<ul>\n";
?>
<li><div><?php echo $row_rsGetImages['img_description']; ?></div><a href="galleries/<?php echo $row_rsGetImages['gallery_folder']; ?>/fullsize/<?php echo getFullName($row_rsGetImages['img_filename']); ?>"><img src="galleries/<?php echo $row_rsGetImages['gallery_folder']; ?>/thumbs/<?php echo $imgThumb = getThumbName($row_rsGetImages['img_filename']); ?>" alt="" width="60" height="60" title="<?php echo $row_rsGetImages['img_caption']; ?>" <?php echo picSize("galleries/".$row_rsGetImages['gallery_folder']."/thumbs/".$imgThumb); ?>>[/url]      </li>
<?php
  $counter++;
  if($counter % 4 == 0) echo "</ul>\n";
}
if ($counter % 4 != 0) echo "</ul>\n";
?>
[/code]

the difference: [b]DO NOT[/b] prime the loop with [tt]$row_rsGetImages = mysql_fetch_assoc($rsGetImages)[/tt] before you start the while or you'll end up missing your first image every time.

Share this post


Link to post
Share on other sites
Hi,
The gallery throws a javascript error and the empty row remains.
Appreciate the time you have spent on this but will have to try something different
cheers
loz

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.