Jump to content

Horizontal Looping


Neilsaab

Recommended Posts

Hi Guys,

 

I am still learning coding so please bear with me if this seems like a silly question.

 

I am trying to show mysql data in a table 3 columns wide and 2 rows, but repeated. I have the horizontal loop sorted, but I'm not sure how to get it to do this for 2 columns.

 

ie: The data is all pulled in one query, then I want it to display one set of data - a picture, then underneath the pictures is the other data - a title, so it all ties up.

 

Here is the coding I'm using at the moment - which only displays the pictures.

 

<table cellspacing="3" cellpadding="3" border="1" align="center">

<?php
//make database connection

$link = mysql_connect("", "", "")
or die(mysql_error());
mysql_select_db("")
or die(mysql_error());

//create query

$query = "SELECT country, pic " .
"FROM flags";

$result = mysql_query($query, $link)
or die(mysql_error());

if($result && mysql_num_rows($result) > 0)
{
$i = 0;
$max_columns = 3;
while($row = mysql_fetch_array($result))
{
	// make the variables easy to deal with
	extract($row);

	// open row if counter is zero
	if($i == 0)
		echo "<tr>";

	// make sure we have a valid product
	if($pic != "" && $pic != null)
		echo "<td><img src = $pic></td>";

	// increment counter - if counter = max columns, reset counter and close row
	if(++$i == $max_columns)
	{
		echo "</tr>";
		$i=0;
	} // end if

} // end while
} // end if results

// clean up table - makes your code valid!
if($i < $max_columns)
{
for($j=$i; $j<$max_columns;$j++)
	echo "<td> </td>";
}
?>
</tr>
</table>

 

I also need to make these links, but when I do this in the way that I know, it doesn't like it.

 

Hope someone can give me some pointers.

 

Neil

Link to comment
https://forums.phpfreaks.com/topic/134647-horizontal-looping/
Share on other sites

Looks like I posted a couple of minutes too early. I have now resolved this in one way. If anyone is looking into it please tell me if there is a better way of doing it.

<table cellspacing="5" cellpadding="5" border="0" align="center">

<?php
//make database connection

$link = mysql_connect("", "", "")
or die(mysql_error());
mysql_select_db("")
or die(mysql_error());

//create query

$query = "SELECT country, pic, prodid " .
"FROM flags";

$result = mysql_query($query, $link)
or die(mysql_error());

if($result && mysql_num_rows($result) > 0)
{
$i = 0;
$max_columns = 3;
while($row = mysql_fetch_array($result))
{
	// make the variables easy to deal with
	extract($row);

	// open row if counter is zero
	if($i == 0)
		echo "<tr>";

	// make sure we have a valid product
	if($pic != "" && $pic != null)
		echo "<td align='center'><a href='flag_details.php?prodid=$prodid'><img src = $pic><br />$country</a></td>";

	// increment counter - if counter = max columns, reset counter and close row
	if(++$i == $max_columns)
	{
		echo "</tr>";
		$i=0;
	} // end if

} // end while
} // end if results

// clean up table - makes your code valid!
if($i < $max_columns)
{
for($j=$i; $j<$max_columns;$j++)
	echo "<td> </td>";
}
?>
</tr>
</table>

 

Neil

Link to comment
https://forums.phpfreaks.com/topic/134647-horizontal-looping/#findComment-701132
Share on other sites

Archived

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

×
×
  • Create New...

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.