loz Posted October 3, 2006 Share Posted October 3, 2006 In a galley I am working on there is a counter that sets the number ofimages wanted in the row andwhen 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 thereis an extra blank row shown.any help appreciatedloz Quote Link to comment Share on other sites More sharing options...
obsidian Posted October 3, 2006 Share Posted October 3, 2006 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 closedif ($counter %4 != 0) echo "</ul>\n";?>[/code]hope this helps Quote Link to comment Share on other sites More sharing options...
loz Posted October 3, 2006 Author Share Posted October 3, 2006 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 :)cheersloz Quote Link to comment Share on other sites More sharing options...
obsidian Posted October 3, 2006 Share Posted October 3, 2006 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. Quote Link to comment Share on other sites More sharing options...
loz Posted October 3, 2006 Author Share Posted October 3, 2006 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 differentcheersloz Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.