Smarty ページングの例

WBOY
リリース: 2016-07-25 09:10:30
オリジナル
1335 人が閲覧しました
  • <{セクション名=nloop ループ=$news_data}>
  • " >
  • <{sectionelse}>
  • 对不起,何か新しい闻入はありません!< ;/td>
  • <{/section}>
    1. @session_start();

    2. require_once("smarty.php");//smarty テンプレートクラスをロードする
    3. require_once("adodb/adodb.inc.php");/ /adodb データベースをロードします

    4. //データベースに接続します

    5. $dbhost = 'localhost'; //データベースサーバー
    6. $dbuser = 'root' //データベースユーザー名
    7. $dbpwd= 'root'; ; // データベースのパスワード
    8. $dbname='hejia'; // データベース名

      $conn = NewAdoConnection('mysql') // 接続オブジェクトを作成します
    9. $conn-> dbhost, $dbuser, $dbpwd, $dbname); // データベースに接続します
    10. $conn->Query("Set Names 'gb2312'"); // mysql_query("SET NAMES GBK");
    11. date_default_timezone_set から取得します。 ( PRC); //PHP が 8 時間の時差を取得するための解決策は、php.ini の date.timezone を PRC
    12. ?>

    コードをコピーすることもできますホームページのindex.php:

    1. require_once("const.php");

    2. $sql1="select id,hits,title,add_date from oa_art order by id desc" //SQL ステートメント
    3. $pageSize=4; //ページあたりのレコード数を設定します
    4. $sql=$sql1." limit ".($pageSize * ((empty($_REQUEST['page']) ? 1 : $_REQUEST['page' ]) -1)).", ".$pageSize;
    5. $news_array=$conn->getall($sql);
    6. $news_array1=$conn->getall($sql1);
    7. $page_url="index .php "; //ページURLアドレス
    8. $totalnumber=count($news_array1); //レコード総数を取得
    9. $midPage=5; //デジタルナビゲーションリンク数
    10. page();//ページング関数を呼び出す< ;/p>
    11. for ($i = 0; $i <=ceil($totalnumber/$pageSize); $i++) $page_option[] = $i;// ページ分割されたドロップダウン リストを生成しますarray

    12. $smarty->assign("page_option",$page_option);

    13. $smarty->assign("news_data",$news_array);

    14. $smarty->assign( "mytitle","企業ウェブサイトのホームページ");
    15. $smarty->display("tpl.htm",$page);
    16. ?>

    コードをコピー

    ページング機能:

    1. function page()

    2. {
    3. global $smarty,$start,$page_url,$pageSize,$midPage,$totalnumber;
    4. $total = $totalnumber ; / /レコードの総数を取得します
    5. $totalPage = ceil($total/$pageSize); //ページの総数を取得します
    6. $currentPage=@$_REQUEST['page']+0; //現在のページです
    7. if (!is_numeric($ currentPage) || $currentPage < 1 || empty($currentPage) || $currentPage > $totalPage)
    8. $currentPage=1; // 現在のページを初期化します
    9. $url = preg_replace(array( "!(([& ]|^)(ページ)[=]?([^&]+)?)|(([&]){2,})|(^[&])|([& ]$))!" ,),array(""),$_SERVER["QUERY_STRING"]); // アドレスを設定し、通常の
    10. に置き換えます $url.=($url?"&":"") .'page'; //
    11. $start = ($currentPage-1)*$pageSize;
    12. $back = $currentPage > 1?"<<n":"";
    13. $next = $currentPage < $totalPage ?"< ;a href="?$url =".($currentPage+1)."" Title='次のページ'>>>n":" ";
    14. $first = $ currentPage > 1?"ホームページn":"";
    15. $last = $currentPage < $ totalPage?"最後のページn":"";

    16. // ナビゲーションリンク

    17. $midPages = '';
    18. $num = $currentPage-floor($midPage/2);
    19. if($num > 0)
    20. {
    21. if(($totalPage-$ num) < $midPage)
    22. {
    23. $tmp = $totalPage - $midPage;
    24. $num = $tmp< 1 : ++$tmp;
    25. }
    26. }else $num = 1;
    27. for($i =1; $i<;=$midPage;$i++,$num++)
    28. {
    29. if($num > $totalPage) Break;
    30. $midPages .= ($num == $currentPage) ? .'] ' : "".$num." " ;
    31. }
    32. $smarty->assign("page_total",$total); // 合計
    33. $smarty->assign("page_currentPage",$currentPage) // 現在のページ番号
    34. $smarty->assign ("page_totalPage",$ totalPage); // 総ページ数
    35. $smarty->assign("page_back",$back); // 前のページ
    36. $smarty->assign("page_next",$next) ; // 次のページ
    37. $smarty->assign("page_first",$first); // ホームページ
    38. $smarty->assign("page_last",$last); // 最後のページ
    39. $smarty-> assign("page_midPages" ,$midPages); // 中間ページ
    40. $smarty->assign("page_url",$page_url) // 現在のページアドレス
    41. }
    42. ?>

    コードをコピーします

    模板页 tpl.htm:

    1. <{$ mytitle}>
    2. <表の幅="66%" border="0" align="center" cellpadding="2" cellpacing="1" bgcolor="#CCCCCC">
    标题 発行日期 点击次数
    <{$news_data[nloop].title}>< ;/td>
  • <{$news_data[nloop].add_date|date_format:"%Y-%m-%d"}> <{$news_data [nloop].hits}>
  • 共<{$page_total}>条
  • 第<{$page_currentPage}>/<{$page_totalPage}>页
  • <{$page_first}>
  • < {$page_back}>
  • <{$page_midPages}>
  • <{$page_next}>
  • <{$page_last}>
  • 转到
  • <{include file="bottom. htm"}>
  • 复制幣


    関連ラベル:
    ソース:php.cn
    前の記事:PHP関数を使用してXMLファイルを読み込む例 次の記事:PHP JSONから配列へ
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    著者別の最新記事
    最新の問題
    関連トピック
    詳細>
    人気のおすすめ
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート