Jump to content

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

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.