Thursday, February 17, 2011

Code แบ่งหน้า สวย ๆ

คนละตัวกันครับ ของ PostSmiles.com ตามโค๊ดด้านล่างนี้เลยครับ

โค๊ด:
<style type="text/css">
<!--
span.split-page-present {
 padding: 0px 5px;
 margin: 0px 1px;
 border: 1px solid #999999;
 background-color: #999999;
 line-height: 1.5em;
 font-size: 0.9em;
 color: #FFFFFF;
}
span.split-page-select {
 color: #000000;
}
span.split-page-select a:link {
 padding: 0px 5px;
 margin: 0px 1px;
 border: 1px solid #E5E5E5;
 background-color: #E5E5E5;
 line-height: 1.5em;
 font-size: 0.9em;
 color: #000000;
 text-decoration: none;
}
span.split-page-select a:visited {
 padding: 0px 5px;
 margin: 0px 1px;
 border: 1px solid #E5E5E5;
 background-color: #E5E5E5;
 line-height: 1.5em;
 font-size: 0.9em;
 color: #000000;
 text-decoration: none;
}
span.split-page-select a:hover {
 padding: 0px 5px;
 margin: 0px 1px;
 border: 1px solid #999999;
 background-color: #999999;
 line-height: 1.5em;
 font-size: 0.9em;
 color: #FFFFFF;
 text-decoration: none;
}
div#wrapper-split-page {
 margin: 10px 20px 10px 20px;
 text-align: right;
}-->
</style>
<?php
 # Function: Display split pages : link normal function split_page($geturl ""$rows_page ""$totalpage ""$startpage ""$endpage ""$page "") {  if (!empty($rows_page)) {   $total_all_records number_format($rows_page',');   echo " <strong>Page:</strong> {$page} of {$totalpage} (Total: {$total_all_records} items) ";   if (!empty($rows_page)) {    if ($page 1) {     $back $page 1;     echo "<a href=\"{$geturl}&page=1\"><img src=\"images/icon/icon-first-page.png\" title=\"First Page\" width=\"10\" height=\"12\" border=\"0\" align=\"absmiddle\" /></a>&nbsp;";     echo "<a href=\"{$geturl}&page={$back}\"><img src=\"images/icon/icon-prev-page.png\" title=\"Previous Page\" width=\"7\" height=\"12\" border=\"0\" align=\"absmiddle\" /></a>&nbsp;";     if ($startpage 1) { echo " ... "; }    } else {     echo "<img src=\"images/icon/icon-first-page-dummy.png\" title=\"First Page\" width=\"10\" height=\"12\" border=\"0\" align=\"absmiddle\" />&nbsp;";     echo "<img src=\"images/icon/icon-prev-page-dummy.png\" title=\"Previous Page\" width=\"7\" height=\"12\" border=\"0\" align=\"absmiddle\" />&nbsp;";     if ($startpage 1) { echo " ... "; }    }    # Display number pages for link and select    for ($i $startpage$i <= $endpage$i++) {     if ($i == $page ) {      echo "<span class=\"split-page-present\">{$i}</span>";     } else  {      echo "<span class=\"split-page-select\"><a href=\"{$geturl}&page={$i}\">{$i}</a></span>";     }       if ($page $totalpage) {     $next $page 1;     if ($endpage $totalpage) { echo " ... "; }     echo "&nbsp;<a href=\"{$geturl}&page={$next}\"><img src=\"images/icon/icon-next-page.png\" title=\"Next Page\" width=\"7\" height=\"12\" align=\"absmiddle\" /></a>";     echo "&nbsp;<a href=\"{$geturl}&page={$totalpage}\"><img src=\"images/icon/icon-last-page.png\" title=\"Last Page\" width=\"10\" height=\"12\" align=\"absmiddle\" /></a>";    } else {     if ($endpage $totalpage) { echo " ... "; }     echo "&nbsp;<img src=\"images/icon/icon-next-page-dummy.png\" title=\"Next Page\" width=\"7\" height=\"12\" align=\"absmiddle\" />";     echo "&nbsp;<img src=\"images/icon/icon-last-page-dummy.png\" title=\"Last Page\" width=\"10\" height=\"12\" align=\"absmiddle\" />";    }   }   //echo " <span class=\"split-page\">{ <a href=\"{$geturl}&page=all\">Show All</a> }</span>"; // end if: !empty($rows_page) }    # Process data : use MySQL class for any website $link=mysql_connect("localhost","root",""); mysql_select_db("thailocation"); # Configuration variable for split pages $pagelen 20// config : set value for display per pages $range 5// config : number page for show in link $page $_GET['page']; # Mode SQL Command : Select for count data in condition $sql " SELECT "// $sql .= " ar_id "; $sql .= " FROM "; $sql .= " tbl_article ";   // end if : $cate_id != "all" # Execute query command $res['select_all_data'] = mysql_query($sql); # Calculate variable for split pages $rows_page mysql_num_rows($res['select_all_data']); $totalpage ceil($rows_page $pagelen); # Check :  if (empty($page)) { $page 1; } //  if ((!ereg("^[0-9]+$""$page")) && ($page != "all")) { $page 1; } //  if ($page $totalpage) { $page 1; } //  $goto = ($page 1) * $pagelen;  $startpage $page $range; $endpage $page $range; if ($startpage <= 1) {  $startpage 1; } if ($endpage >= $totalpage) {  $endpage $totalpage; # Mode SQL Command : Select data for split pages (main data in condition) $sql " SELECT "; $sql .= " *  "; $sql .= " FROM "; $sql .= " tbl_article "; $sql .= " ORDER BY "; $sql .= " ar_id "; $sql .= " DESC "; if ($page != "all") { // Display all page : { Show All } $sql .= " LIMIT $goto , $pagelen "; } # Execute query command $res['select_split_page'] = mysql_query($sql);   # Get number of rows in result : per page $count_rows mysql_num_rows($res['select_split_page']);

###########Show data#################################$i 1;$cols=2//Colums$c=$cols;
echo "<table>\n<tr>";
 while ( $rs mysql_fetch_array$res['select_split_page'] ) ) {  
  $c--;
  echo "<td width='50%' valign='top'>";
   echo "<table width='100%' border='0' cellspacing='0' cellpadding='2'> <tr>";   if($rs['ar_picture']){
       echo "<td width='10%' valign='top'><img src='datafiles/article/".$rs['ar_picture']."' align='absmiddle'  style='border:1px solid #666666;'></td>";   }
      echo "<td width='90%' valign='top'> 
   <a href='".WEB_URL."/article/".$_REQUEST['ar_type_name']."-".eregi_replace(" ","+",$rs['ar_topic'])."-".$rs['ar_id'].".html' target='_blank' >
   <strong><u>".$rs['ar_topic']."</u></strong>
   <br><font style='font-size:11px; color:#666666'>".$rs['ar_fdetail']."...</font></a>
   </td>";   echo  "</tr> ";   echo " <tr>
    <td height='10' style='border-bottom: dotted 1px #E1E1E1' colspan='2'></td>
    </tr> ";
   echo "</table>";
  echo "</td>"//
  if ($c==0) {
    echo "</tr><tr>";
    $c=$cols;
  }
}
echo "</tr>\n</table>\n";############################################
?>
<div id="wrapper-split-page">
  <?php# Call function split_pages$geturl WEB_URL."/article_list/".$_REQUEST['ar_type_name']."-".$_REQUEST['ar_type']."&tag=".$_REQUEST['tag']."";
if ($page == "all") { // Display all page : { Show All } $total_all_records number_format($rows_page','); echo "<span class=\"split-page\"><strong>Show All</strong> { {$total_all_records} items }</span>";
} else { // if page = 1, 2, 3 split_page($geturl$rows_page$totalpage$startpage$endpage$page); // call function split_pages()}?>
  </div>

ลอง เอาไปศึกษาประยุกต์ใช้ดูนะครับ ถ้าจะให้ดีควรแยกโค๊ด Function และ stylesheets ออกมาเป็นไฟล์ แล้วค่อย Include มาใช้จะทำให้โค๊ดดูง่ายขึ้นครับ

0 comments:

Post a Comment

 
Design by sutoday | Bloggerized by storesu - suvachai | laikeng