µ±Ç°Î»ÖãºLinux½Ì³Ì - Mysql - Àý×Ó£ºÓÃPHP3ʵÏÖMySQLÊý¾ÝµÄ·ÖÒ³ÏÔʾ

Àý×Ó£ºÓÃPHP3ʵÏÖMySQLÊý¾ÝµÄ·ÖÒ³ÏÔʾ

½¨±í¼°Éú³É²âÊÔÊý¾Ý(mysql.sql)£º
    create table pagetest(
        id     int unsigned not null primary key auto_increment,
        name   text not null
    );
    insert into pagetest(name) values('ÄúºÃ£¬ÅóÓÑ£¬ÕâÊÇ·ÖÒ³²âÊÔÊý¾Ý£¡');
    insert into pagetest(name) values('µÚ2Ìõ');
    insert into pagetest(name) values('µÚ3Ìõ');
    insert into pagetest(name) values('µÚ4Ìõ');
    insert into pagetest(name) values('µÚ5Ìõ');
    insert into pagetest(name) values('µÚ6Ìõ');
    insert into pagetest(name) values('µÚ7Ìõ');
    insert into pagetest(name) values('µÚ8Ìõ');
    insert into pagetest(name) values('µÚ9Ìõ');
    insert into pagetest(name) values('µÚ10Ìõ');
    insert into pagetest(name) values('µÚ11Ìõ');
    insert into pagetest(name) values('µÚ12Ìõ');
    insert into pagetest(name) values('µÚ13Ìõ');

ÏÔʾ³ÌÐò(mysql.php3)£º
    <?
    $pagesize = 2;//ÿҳÏÔʾ2Ìõ¼Ç¼
    
    $server = mysql_pconnect("localhost","test","test") or die("ÎÞ·¨Á¬½Óµ½localhostÖ÷»úÉϵÄMySQLÊý¾Ý¿â·þÎñÆ÷£¡");//ÒÔtestÕ˺š¢testÃÜÂëÁ¬½ÓlocalhostÖ÷»úÉϵÄMySQLÊý¾Ý¿â
    $db = mysql_select_db("test") or die("ÎÞ·¨Á¬½Óµ½testÊý¾Ý¿â£¡");

    $sql = "select count(*) as total from pagetest";//Éú³É²éѯ¼Ç¼ÊýµÄSQLÓï¾ä
    $rst = mysql_query($sql) or die("ÎÞ·¨Ö´ÐÐSQLÓï¾ä£º$sql £¡");//²éѯ¼Ç¼Êý
    $row = mysql_fetch_array($rst) or die("ûÓиü¶àµÄ¼Ç¼£¡");//È¡³öÒ»Ìõ¼Ç¼
    $rowcount = $row["total"];//È¡³ö¼Ç¼Êý
    mysql_free_result($rst) or die("ÎÞ·¨ÊÍ·Åresult×ÊÔ´£¡");//ÊÍ·Åresult×ÊÔ´

    $pagecount = bcdiv($rowcount+$pagesize-1,$pagesize,0);//Ëã³ö×ܹ²Óм¸Ò³

    if(!isset($pageno)) $pageno = 1;//ÔÚûÓÐÉèÖÃpagenoʱ£¬È±Ê¡ÎªÏÔʾµÚ1Ò³
    if($pageno<1) $pageno = 1;//Èôpageno±È1С£¬Ôò°ÑËüÉèÖÃΪ1
    if($pageno>$pagecount) $pageno = $pagecount;//Èôpageno±È×ܹ²µÄÒ³Êý´ó£¬Ôò°ÑËüÉèÖÃΪ×îºóÒ»Ò³

    if($pageno>0){
       $href = eregi_replace("%2f","/",urlencode($PHP_SELF));//°Ñ$PHP_SELFת»»Îª¿ÉÒÔÔÚURLÉÏʹÓõÄ×Ö·û´®£¬ÕâÑùµÄ»°¾Í¿ÉÒÔ´¦ÀíÖÐÎÄĿ¼»òÖÐÎÄÎļþÃû
       if($pageno>1){//ÏÔʾÉÏÒ»Ò³µÄñͽÓ
          echo '<a href="' . $href . '?pageno=' . ($pageno-1) . '">ÉÏÒ»Ò³</a>  ';
       }
       else{
          echo 'ÉÏÒ»Ò³  ';
       }
       for($i=1;$i<$pageno;$i++){
          echo '<a href="' . $href . '?pageno=' . $i . '">' . $i . '</a>  ';
       }
       echo $pageno . '  ';
       for($i++;$i<=$pagecount;$i++){
          echo '<a href="' . $href . '?pageno=' . $i . '">' . $i . '</a>  ';
       }
       if($pageno<$pagecount){//ÏÔʾÏÂÒ»Ò³µÄñͽÓ
          echo '<a href="' . $href . '?pageno=' . ($pageno+1) . '">ÏÂÒ»Ò³</a>  ';
       }
       else{
          echo 'ÏÂÒ»Ò³  ';
       }

       $offset = ($pageno-1) * $pagesize;//Ëã³ö±¾Ò³µÚÒ»Ìõ¼Ç¼ÔÚÕû¸ö±íÖеÄλÖÃ(µÚÒ»Ìõ¼Ç¼Ϊ0)
       $sql = "select * from pagetest LIMIT $offset,$pagesize";//Éú³É²éѯ±¾Ò³Êý¾ÝµÄSQLÓï¾ä
       $rst = mysql_query($sql);//²éѯ±¾Ò³Êý¾Ý
       $num_fields = mysql_num_fields($rst);//È¡µÃ×Ö¶Î×ÜÊý
       $i = 0;
       while($i<$num_fields){//È¡µÃËùÓÐ×ֶεÄÃû×Ö
          $fields[$i] = mysql_field_name($rst,$i);//È¡µÃµÚi+1¸ö×ֶεÄÃû×Ö
          $i++;
       }
       echo '<table border="1" cellspacing="0" cellpadding="0">';//¿ªÊ¼Êä³ö±í¸ñ
       echo '<tr>';
       reset($fields);
       while(list(,$field_name)=each($fields)){//ÏÔʾ×Ö¶ÎÃû³Æ
          echo "<th>$field_name</th>";
       }
       echo '</tr>';
       while($row=mysql_fetch_array($rst)){//ÏÔʾ±¾Ò³Êý¾Ý
          echo '<tr>';
          reset($fields);
          while(list(,$field_name)=each($fields)){//ÏÔʾÿ¸ö×ֶεÄÖµ
             $field_value = $row[$field_name];
             if($field_value==""){
                echo '<td> </td>';
             }
             else{
                echo "<td>$field_value</td>";
             }
          }
          echo '</tr>';
       }
       echo '</table>';//±í¸ñÊä³ö½áÊø
       mysql_free_result($rst) or die("ÎÞ·¨ÊÍ·Åresult×ÊÔ´£¡");//ÊÍ·Åresult×ÊÔ´
    }
    else{
       echo "Ŀǰ¸Ã±íÖÐûÓÐÈκÎÊý¾Ý£¡";
    }

    mysql_close($server) or die("ÎÞ·¨Óë·þÎñÆ÷¶Ï¿ªÁ¬½Ó£¡");//¶Ï¿ªÁ¬½