[liphp] Next Page Help

Jeremy [email protected]
Wed, 15 Oct 2003 13:03:46 -0600


Well I looked over your code best I can. (@ work)
And the one thing I've always used to divide data
into pages is the LIMIT() function in mySQL and thats
what it looks like this is suppose to be doing except
you don't have the LIMIT function in your mySQL statement.
Look over the code you got from phpbuilder.com again and
see if you need to put a snippet of that code in your mySQL
statement.

You can also search google for mySQL + LIMIT should get you
some info on how LIMIT works.

Hope that helps.

Jeremy

-----Original Message-----
From: [email protected] [mailto:[email protected]]On Behalf Of
Troy Thomas
Sent: Wednesday, October 15, 2003 10:26 AM
To: [email protected]
Subject: [liphp] Next Page Help


Hey All,

I hope someone can help me.

I've been trying to get this <prev 1 2 3 next> code that I got off
phpbuilder.com working with my code and it works fine until you click on
one of the links.

When i click the links I do not get the rest of the results from the
record set.

Please understand I'm still a novice at this stuff, pretty surprised I
got it working this far :).

Here is the code:

-------------------------------

<?
// ------ MY CODE ------ //
session_start();
$tdcolor == 0;
$tempcat_name = $_GET[cat_name];
$_SESSION[cat_id] = $_GET[cat_id];

$_SESSION[tempcat_name] = $tempcat_name;

$cat_id = $_SESSION[cat_id];

$db_name ="alpha";

$connection = mysql_connect("******","******","******") or
die(mysql_error());
$db = mysql_select_db($db_name,$connection)or die(mysql_error());

$sql3 = "SELECT userid, username, company, cat_name, pro_id, pro_name,
pro_desc FROM user_table, category, products WHERE user_table.userid =
products.user_id AND products.cat_id = category.cat_id AND
category.cat_id = $_SESSION[cat_id] ";

//echo $sql3;

$result3 = mysql_query($sql3,$connection) or die(mysql_error());

$num = mysql_num_rows($result3);

if ($num < 1) {
	//if there are no results,display message
	$option_block = "<P><em>Sorry! No results under this category yet check
back soon. Thank you.</em></p>";

    } else {

// ------  END MY CODE ------ //

$recordLimit= 5;	// Limit per page

/*==Font control for the
/Prev Naviagation==*/

$prevStatus = "Show Previous $recordLimit Results";
$nextStatus = "Show Next $recordLimit Results";
$prevLink 	= "< Previous|";
$nextLink 	= "|Next >";
$fontfamily = "tahoma, helvetica";
$fontsize	= "13px";
$fontcolor	= "#000000";
$inactivecolor = "#666666";	// Color for when there is no link
$fontweight	= "700";
$textdecoration = "none";

/*==If thisOffset not set, set to zero==============*/

if (!isset($thisOffset) || $thisOffset < 0) $thisOffset=0;
if ($action==search) $thisOffset = $thisOffset - 1;

/*==This is to count the line index of the results==*/
/*=============if not set, set to zero==============*/

if (!isset($lineIndex) || $lineIndex < 0) $lineIndex=0;
if ($action==search) $lineIndex = $lineIndex - 1;

/*==Query for the total number of rows==*/

$getTotalRows = mysql_query($sql3, $connection);
$totalRowsNum = mysql_num_rows($getTotalRows);

/*==Append the limit and offset to the sql==*/

$sql3.=" Limit $thisOffset,$recordLimit";

/*==Query and fetch array with the limit and offset==*/

$query = mysql_query($sql3, $connection);
while ($row3=mysql_fetch_array($query)){

/*==Increment the line index by 1==*/

$lineIndex++;

/*====== Your results layout goes here =======*/

// ------ MY CODE ------ //

 if ($tdcolor == 0) {
	 $color = "#efefef";
	 $tdcolor = 1;

	 } else {

	 $color = "#e4e4e4";
	 $tdcolor = 0;
	 }

		$company = $row3['company'];
		$user_id = $row3['user_id'];
		$cat_id = $row3['cat_id'];
		$cat_name = $row3['cat_name'];
		$pro_id = $row3['pro_id'];
		$pro_name = $row3['pro_name'];
		$pro_desc = $row3['pro_desc'];
        $cutpro_desc = substr($pro_desc,0,75);

	$option_block .= "<tr bgcolor=$color><td height=45
valign=top><b>Company: </b>$company<br><b>Product Name: </b><a
href=\"viewproduct.php?pro_id=$pro_id\">$pro_name</a> - $cutpro_desc
...</td><td width=5 ><input type=\"checkbox\"></td></tr>";
}

// ------ END MY CODE ------ //

/*==If the number of returned is less than the limit, show nothing===*/

if ($totalRowsNum <= $recordLimit) {
// less than recordLimit returned.
} else {

/*==If the current offset is not equal to zero==*/
/*==Show the link. Else (if>0) show just text===*/

if ($thisOffset!=0) { $prevOffset = intval($thisOffset-$recordLimit);
$page_count = "<a style='font-family:$fontfamily; font-size:$fontsize;
color:$fontcolor; font-weight:$fontweight;"
	." text-decoration:$textdecoration;'
onmouseover=\"window.status='$prevStatus'; return true\""
	." onmouseout=\"window.status=''\"
href=\"$PHP_SELF?thisOffset=$prevOffset&lineIndex=$prevOffset\">"
    ."$prevLink</a>&nbsp;";
}
else { $page_count = "<span style='font-family:$fontfamily;
font-size:$fontsize; color:$inactivecolor;"
		   ." font-weight:$fontweight;
text-decoration:$textdecoration;'>$prevLink</span>&nbsp;";
}

/*==Divide total rows by record limit to get the number of pages==*/

$totalPages = intval($totalRowsNum/$recordLimit);

/*==If remainder is left from division increment totalPages==*/

if ($totalRowsNum%$recordLimit) $totalPages++;

/*==Using a for() loop, Display links for each page. 1 2 3==*/

for ($i=1;$i<=$totalPages;$i++) {

/*==If the page being viewed is the current page, disable the link==*/

if ((intval($thisOffset/$recordLimit)) == (intval($i-1))) {

$page_count .= "&nbsp;<span style='font-family:$fontfamily;
font-size:$fontsize; color:$inactivecolor;"
    ." font-weight:$fontweight;
text-decoration:$textdecoration;'>$i</span>&nbsp;";

} else {

/*==If not current page, set nextOffset and display link==*/

$nextOffset= intval($recordLimit*($i-1));

$page_count .= "&nbsp;<a style='font-family:$fontfamily;
font-size:$fontsize; color:$fontcolor;"
	." font-weight:$fontweight; text-decoration:$textdecoration;'
onmouseover=\"window.status='";
		   //pageStatus($i);
$page_count .=  "'; return true\" onmouseout=\"window.status=''\""
	."
href=\"$PHP_SELF?cat_id=$_SESSION[cat_id]&thisOffset=$nextOffset&lineIndex=$
nextOffset\">$i</a>&nbsp;";
}
}

/*==If the page is not the last page, set the nextOffset and show the
link==*/
/*==============If the page is the last page disable the
link===============*/

if (!(intval(((intval($thisOffset/$recordLimit))+1))==$totalPages) &&
$totalPages!=1) {
$nextOffset = intval($thisOffset+$recordLimit);

$page_count .= "&nbsp;<a style='font-family:$fontfamily;
font-size:$fontsize; color:$fontcolor; font-weight:$fontweight;"
    ." text-decoration:$textdecoration;'
onmouseover=\"window.status='$nextStatus'; return true\""
	." onmouseout=\"window.status=''\"
href=\"$PHP_SELF?cat_id=$_SESSION[cat_id]&thisOffset=$nextOffset&lineIndex=$
nextOffset\">$nextLink</a><p>\n";
} else
$page_count .= "&nbsp;"
		."<span style='font-family:$fontfamily; font-size:$fontsize;
color:$inactivecolor;"
		." font-weight:$fontweight;
text-decoration:$textdecoration;'>$nextLink</span><p>";
}

mysql_close($connection);
//End

}

?>

-------------------------------

TIA,
Troy

--

"Which brings us at last to the moment of truth

where in the fundamental flaw is ultimately expressed

and the anomaly revealed as both the beginning and end."


_______________________________________________
Liphp mailing list
[email protected]
https://www.liphp.org/mailman/listinfo/liphp


---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.525 / Virus Database: 322 - Release Date: 10/9/2003

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.525 / Virus Database: 322 - Release Date: 10/9/2003