Jump to content

Need help making things not all display on one line


mike12255

Recommended Posts

I grabbing info from my db and throwing the info in a table, my problem is after 4 i need it to go down a row, but im not sure how to do this i've tried several things but cant get it, any ideas??

 

  <table width="493" height="187" border="0" align="center">
	    <?php
          		$sql = "SELECT * from tbl_product WHERE cat_name = '$area' ORDER BY pd_id DESC LIMIT $page, 14";
			$i = 0;
			$row = 0;
	$result = mysql_query($sql) or die (mysql_error());
echo "<tr>";
while ($row = mysql_fetch_array($result)){
extract($row);

/*if ($i ==4){
echo("<br>");
$row++;
$i++;
}*/

echo "<td align = \"center\">";
echo "<a href = \"item.php?id=$pd_id\"><img src=\"$th_path\" border=\"0\"><br>$pd_name</a>";
echo "</td>";

$i++;

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

Link to comment
Share on other sites

I have done pagination code for you..You could use it or get an idea from there!!

 

 

Put this in your functions file...

 

//Pagination functions

function getPagingQuery($sql, $itemPerPage = 10)
{
if (isset($_GET['page']) && (int)$_GET['page'] > 0) 
{
	$page = (int)$_GET['page'];
} 
else 
{
	$page = 1;
}

// start fetching from this row number
$offset = ($page - 1) * $itemPerPage;

return $sql . " LIMIT $offset, $itemPerPage";
}

/*
Get the links to navigate between one result page to another.

*/


function getPagingLink($sql, $itemPerPage = 10, $strGet = '')
{
$result        = dbQuery($sql);
$pagingLink    = '';
$totalResults  = dbNumRows($result);
$totalPages    = ceil($totalResults / $itemPerPage);

// how many link pages to show
$numLinks      = 10;


// create the paging links only if theres more than one page of results
if ($totalPages > 1) {

	$self = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ;


	if (isset($_GET['page']) && (int)$_GET['page'] > 0) {
		$pageNumber = (int)$_GET['page'];
	} else {
		$pageNumber = 1;
	}

	// print 'previous' link only if its not
	// on page one
	if ($pageNumber > 1) {
		$page = $pageNumber - 1;
		if ($page > 1) {
			$prev = " <a href=\"$self?page=$page&$strGet\">[Prev]</a> ";
		} else {
			$prev = " <a href=\"$self?$strGet\">[Prev]</a> ";
		}	

		$first = " <a href=\"$self?$strGet\">[First]</a> ";
	} else {
		$prev  = ''; // on page one, don't show 'previous' link
		$first = ''; // nor 'first page' link
	}

	// print 'next' link only if its not
	// on the last page
	if ($pageNumber < $totalPages) {
		$page = $pageNumber + 1;
		$next = " <a href=\"$self?page=$page&$strGet\">[Next]</a> ";
		$last = " <a href=\"$self?page=$totalPages&$strGet\">[Last]</a> ";
	} else {
		$next = ''; // if on the last page, don't show 'next' link
		$last = ''; // nor 'last page' link
	}

	$start = $pageNumber - ($pageNumber % $numLinks) + 1;
	$end   = $start + $numLinks - 1;		

	$end   = min($totalPages, $end);

	$pagingLink = array();
	for($page = $start; $page <= $end; $page++)	{
		if ($page == $pageNumber) {
			$pagingLink[] = " $page ";   // no need to create a link to current page
		} else {
			if ($page == 1) {
				$pagingLink[] = " <a href=\"$self?$strGet\">$page</a> ";
			} else {	
				$pagingLink[] = " <a href=\"$self?page=$page&$strGet\">$page</a> ";
			}	
		}

	}

	$pagingLink = implode(' | ', $pagingLink);

	// return the page navigation link
	$pagingLink = $first . $prev . $pagingLink . $next . $last;
}

return $pagingLink;
}

 

//You SQL should be sth like this..

 



$sql = "SELECT * FROM dbtable WHERE blah blah blah' ";

            //Define number of items per page. Four in your case
            $rowsPerPage = 4;

$result     = dbQuery(getPagingQuery($sql, $rowsPerPage));
$pagingLink = getPagingLink($sql, $rowsPerPage);

 

remember to display the pagination link.

Its set to showing ten link items but you can change it to fewer ones in the pagination code

<?
echo $pagingLink;
?>

 

 

Link to comment
Share on other sites

Sorry I gave you code for items per page.

 

For your case, make a table in a loop and break it every four records

 

echo " <p><center><h4>Your result(s):</center></h4>";
		echo "<align='center'><table border=0 bgcolor='' >";
		echo "<tr bgcolor='#FFFFFF' >"; 
		for($i=0;$i<mysql_num_fields($result);$i++) 
		{ 
		echo "<th>"; 
		echo mysql_field_name($result, $i); 
		echo "</th>"; 
		} 
		while($row=mysql_fetch_row($result)) 
		{ 
		echo "<tr bgcolor='#FFFFFF'>";
		for($j=0;$j<$i;$j++) 
			{  
		echo "<td>"; 
		echo $row[$j]; 
		echo "</td>"; 
			}
		echo "</tr>";       
		} 
		echo "</tr>"; 
		echo "</table>"; 

 

put that table in a loop considering 4 records...

Link to comment
Share on other sites

im getting my db table (http://schoolworkanswers.com/kaon/products.php?a=Sofas) idk what could is producing that though because i edited it:(also not sure if putting this in a loop would do what i want, their are more then 4 fields in the db

 

$sql = "SELECT * from tbl_product WHERE cat_name = '$area' ORDER BY pd_id DESC LIMIT $page, 14";

			$row = 0;
	$result = mysql_query($sql) or die (mysql_error());

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

	echo " <p><center><h4>Your result(s):</center></h4>";
         echo "<align='center'><table border=0 bgcolor='' >";
         echo "<tr bgcolor='#FFFFFF' >";
         for($i=0;$i<mysql_num_fields($result);$i++)
         {
       
         }
         while($row=mysql_fetch_row($result))
         {
	 extract($row);
         echo "<tr bgcolor='#FFFFFF'>";
         for($j=0;$j<$i;$j++)
            { 
         echo "<td>";
         echo $th_path;
         echo "</td>";
            }
         echo "</tr>";       
         }
         echo "</tr>";
         echo "</table>";
	 } ?>

Link to comment
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.