分页|技巧|应用实例
一,三个函数,一个观念:函数都有输入输出。
1,获取资料表的函数GetRows():
function GetRows( $Database, $Query ) {
mysql_connect ("ftp", "root", "");
$db = mysql_select_db( $Database );
if ( ! $db ) {
echo "礚猭秨币 kjsql 戈畐叫絋﹚眤竒ミ kjsql 戈畐!";
exit;
}
$rows = mysql_query( $Query );
if ( ! $rows ) {
echo "SQL 岿粇礚猭匡戈!";
exit;
}
return $rows;
}
?>
$rows是函数的输出,作为存取资料的依据。
2,连结数据库的函数ConnectDatabase():
function ConnectDatabase( $Database ) {
mysql_connect ("ftp", "root", "");
$db = mysql_select_db( $Database );
if ( ! $db ) {
echo "礚猭秨币 kjsql 戈畐叫絋﹚眤竒ミ kjsql 戈畐!";
exit;
}
}
?>
3,显示一页的函数ShowOnePage():
function ShowOnePage( $rows, $No ) {
mysql_data_seek( $rows, $No );
echo "
No. | ";" . $field->name . " | ";
" . ($No + $I) . " | ";" . $row[$K] . " | ";
二,分页的技巧
Version1,只显示1到10条记录:
function ShowOnePage( $rows, $No ) {
mysql_data_seek( $rows, $No );
echo "
No. | ";" . $field->name . " | ";
" . ($No + $I) . " | ";" . $row[$K] . " | ";
ShowOnePage( $rows, 0 );
?>
相关说明:1,$No参数,由于显示某一页,利用此参数指定该页的第一笔资料;
2,设定目前资料录的位子:mysql_data_seek($rows,$No);
3,判断是否还有资料录:if ($row=mysql_fetch_row($rows)).
Version2,可以在IE位置栏输入页次:
function ShowOnePage( $rows, $No ) {
mysql_data_seek( $rows, $No );
echo "
No. | ";" . $field->name . " | ";
" . ($No + $I) . " | ";" . $row[$K] . " | ";
$num = mysql_num_rows($rows);
$Pages = intval(($num - 1) / 10) + 1;
if ( $Page if ( $Page > $Pages ) $Page = $Pages;
ShowOnePage( $rows, ($Page-1)*10 );
?>
Version3,页次的浏览:
function ShowOnePage( $rows, $No ) {
mysql_data_seek( $rows, $No );
echo "
No. | ";" . $field->name . " | ";
" . ($No + $I) . " | ";" . $row[$K] . " | ";
$num = mysql_num_rows($rows);
$Pages = intval(($num - 1) / 10) + 1;
if ( $Page if ( $Page > $Pages ) $Page = $Pages;
ShowOnePage( $rows, ($Page-1)*10 );
?>
if ( $Page $Pages ) { // 狦ぃ琌程
echo "";
echo "程";
}
?>
Ω:/
Version 4,完成版:
function ShowOnePage( $rows, $No ) {
mysql_data_seek( $rows, $No );
echo "
No. | ";" . $field->name . " | ";
" . ($No + $I) . " | ";" . $row[$K] . " | ";
$num = mysql_num_rows($rows);
$Pages = intval(($num - 1) / 10) + 1;
if ( $Page if ( $Page > $Pages ) $Page = $Pages;
ShowOnePage( $rows, ($Page-1)*10 );
?>