PDA

View Full Version : X Amount of Columns per Row


req2d
10-18-2007, 02:51 PM
Hi all,

I've ran into a bit of a showstopper here, I've looked through the code over and over again and it seems legit (for my beginner standards ;) ). What it is essentially trying to do is list 6 thumbnails 2 per row, i.e.:

image1 image2
image3 image4
image5 image6

Plugin Code:
$perline = 2;
$set = $perline;
$result = @mysql_query('SELECT reference, imageurl, threadurl FROM highlightthread ORDER BY reference DESC LIMIT 0, 6');

echo "<table>";

while ($row = mysql_fetch_array($result)) {

if(($set%$perline) == 0){
echo "<tr>";
}

echo "<td align='center' >";

$threadurl = $row['threadurl'];
$imageurl = $row['imageurl'];
eval('$highlights .= "' . fetch_template('highlights') . '";');
echo "</td>";

if((($set+1)%$perline) == 0){
echo "</tr>";
}

$set = $set+1;

}
echo "</table>";

Template Code:

<a href="$threadurl"><img src="$imageurl" border=0></a>

I am getting the thumbnails displayed in their straight fashion (i.e. a single row), so it almost feels like it's not picking up any of the echo statements?

Many thanks in advance for any help you can provide.

Cheers :)

req2d
10-21-2007, 02:22 PM
Still seeking assistance with this issue :) Thank you to anyone who can be of help...

Opserty
10-21-2007, 03:36 PM
Try:

$i = 1;
$perline = 2;

echo "<table><tr>";
// while (...
{
if(($i % $perline) == 0)
{
echo "</tr><tr>";
}
// Do your stuff

$i++;
}

echo "</tr></table>";

I think the logic behind that is correct.

req2d
10-21-2007, 04:36 PM
Thank you Opserty, I really appreciate. I guess I don't understand why it's not outputting the echo statements as I'm still getting just the template output (i.e. <a href...<img src...). My code has been updated to this:

$i = 1;
$perline = 2;
$result = @mysql_query('SELECT reference, imageurl, threadurl FROM highlightthread ORDER BY reference DESC LIMIT 0, 6');

echo "<table><tr>";

while ($row = mysql_fetch_array($result)) {

if(($i % $perline) == 0){
echo "</tr><tr>";
}

$threadurl = $row['threadurl'];
$imageurl = $row['imageurl'];
eval('$highlights .= "' . fetch_template('highlights') . '";');

$i++;

}
echo "</tr></table>";

I tried echo'ing some normal text and also didn't work for some reason, but like fetch template is outputting. Many thanks for any clues on to why this echo is not being read...

Cheers

Opserty
10-21-2007, 04:59 PM
Change every echo to $highlights .= (don't forget the period before the equals sign!)

req2d
10-21-2007, 05:10 PM
Thank you again Opserty :) it's outputting now. Just need to figure out how to get it 2 per line instead of only 1. Currently doing <tr>record1</tr> instead of <tr>record1record2</tr>.

Opserty
10-21-2007, 06:42 PM
Hmmm I'm probably missing something somewhere but I cannot see it. Don't forget your table cell tags (in your template).