簡單的數據分頁及遊客留言板功能

上週就寫了個數據分頁顯示/及遊客留言板,目前主要關注javascript這塊。。javascript

index.php:php

<!DOCTYPE html>css

<html>html

    <head>java

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">mysql

        <title><!--取得執行 SELECT 語句時、被影響是記錄及字段數目。-->分頁預覽----留言板</title>sql

        <style type="text/css">數據庫

      

        </style>數組

    </head>服務器

    <body>

        <?php

         /*

        // put your code here

        $link = mysql_connect( "localhost", "root" , "123@qwe") or die("沒法建立鏈接"); //當沒法鏈接成功時,若不想在網頁上出現錯誤消息, 在mysql_connect()前面加@;

      //  echo '成功鏈接數據庫';

        $charset = mysql_client_encoding();  //取默認字符集名稱

        echo "最後打開的數據鏈接所使用的字符集名稱:$charset;"."<br/>";

      

       echo "mysql 客戶端程序庫的版本:" .  mysql_get_client_info(); //客戶端程序庫的版本

      // echo '$link 鏈接主機爲:' . mysql_get_host_infor($link);//ERROR

          mysql_close($link); //關閉數據庫*/

        /*

            $link = mysql_connect("localhost", "root", "123@qwe") or die("建立數據庫失敗");

            if (mysql_create_db("test_databases"))//mysql_create_db建立數據庫 ;//mysql_drop_db 刪除數據庫

            {

                echo ("成功建立指定的數據庫");

                

            }

            else

            {

                echo "沒法建立指定的數據庫";

            }

            mysql_close($link);

         * */

        /*

         $link = mysql_connect("localhost", "root", "123@qwe") or die("沒法建立數據庫<br/>" .  mysql_error());

         $db_selected = @mysql_select_db("$friend", $link) or die ("沒法打開 friend 數據庫<br/>" .  mysql_error($link));

         mysql_close($link);*/

        //執行SQL命令 使用mysql_query()函數執行SQL命令

        /*

        $link = mysql_connect("localhost", "root", "123@qwe") or die ("沒法打開 friend 數據庫<br/>" .  mysql_error($link));

        mysql_query("SET NAMES utf8");

        $db_selected = mysql_select_db("friend") or die ("沒法打開 friend 數據庫<br/>" .  mysql_error($link));

        echo "成功打開friend數據庫";

        $sql = "SELECT * FROM FRIEND_CLUB WHERE name = '小燕子'";

        $result = mysql_query($sql); //$result返回值爲資源標識符,指向查詢結果。

       // $execute_sql("friend", "SELECT * FROM FRIEND_CLUB WHERE name = '小燕子'", $link);

        mysql_close();*/

        

      /*START*/

        /*part-1*/

        /*

      require_once("dbtools.inc.php") ;

      $link = create_connection();

      $sql = "SELECT * FROM friend_club where number = '熱愛小品' ";

      $result = execute_sql("friend", $sql, $link);  //execute_sql用來對數據庫執行select語句

      

      echo "number = ’熱愛小品‘ 的記錄有" .mysql_num_rows($result) . "條"; //mysql_num_rows被篩選出來的記錄數

      echo ". 包含" .  mysql_num_fields( $result) . "個字段。";            //mysql_num_fields被帥選出來的字段數

      $mysql_close($link);*/

        /*part-2*/

      

       // require_once("dbtools.inc.php");

        

      // $link = create_connection();

     //   $sql = "select * from friend_club where number = '熱愛小品'";

      //  $result = execute_sql("friend", $sql, $link);

        /*part-3*/

        /*

        echo "<table width='400' border='1'><tr align='center'>";

        echo "<td>字段名</td><td> 數據類型</td><td>字段長度</td></tr>";

        

        $i = 0;

        while ($i <  mysql_num_fields($result))

        {

            echo "<tr>";

            echo "<td>" .mysql_field_name($result, $i) ."</td>";

            echo "<td>" .mysql_field_type($result,$i) ."</td>";

            echo "<td>" .mysql_field_len($result, $i) ."</td>";

            

            echo "</tr>";

            $i++;

        }

        echo "</table>";

        

        mysql_close($link);

         

         */

        /*part-4顯示查詢結果的全部記錄*/

        /*

       echo "<table border='1' align='center'><tr align='center'>";

            for ($i = 0;$i<mysql_num_fields($result);$i++)

                //顯示字段名

            echo "<td>" .  mysql_fetch_field($result, $i)->name."</td>";

            echo "</tr>";

            for ($j = 0;$j<mysql_num_rows($result); $j++)

               //顯示字段內容

            {

                echo "<tr>";

               for ($k = 0; $k<mysql_num_fields($result); $k++)

               echo "<td>" .mysql_result($result, $j, $k)."</td>";

               echo "</tr>";   

            }

            echo "</table>";

            mysql_free_result($result);//釋放內存

            mysql_close($link);

          */

         /*part-5 查看服務器包含哪些數據庫mysql_list_dbs*/

        /*

        $db_list = mysql_list_dbs($link);

        echo "<p>mysql 服務器擁有如下數據庫:</p>";

        while ($row = mysql_fetch_object($db_list))

            echo "$row->Database<br/>";

        mysql_free_result($db_list);

        mysql_close();

        */

       /*part-6 某些數據表包含哪些字段使用mysql_list_fields*/

        /*

        $field_list = mysql_list_fields("friend", "friend_club", $link);

        echo "<p>price 數據表包含如下字段</p>";

            for($i = 0; $i<mysql_num_fields($field_list); $i++)

               echo mysql_field_name($field_list, $i) ."|" ;

           mysql_free_result($field_list);

           mysql_close();

         

        /*************************************************************************

         *                 分頁瀏覽                                               *

         * ***********************************************************************

         */

      

        

        ?>

        

         <!-- <h1>分頁預覽</h1>-->

          <?php

          /*

             require_once("dbtools.inc.php");

             //指定每頁顯示幾條記錄

             $records_per_page = 5;

             

             //取得要顯示第幾頁概率

             if(isset($_GET["page"]))

                  $page = $_GET["page"];

             else

                 $page =1;

             //建立數據庫鏈接

             $link = create_connection();

             //運行SQL命令

             $sql ="SELECT number AS '我的愛好', name AS  '姓名' from friend_club ";

             $result = execute_sql("friend", $sql, $link);

             //取得字段

             $total_fields = mysql_num_fields($result);

             //取得記錄數

             $total_records = mysql_num_rows($result);

             //計算總頁數

             $total_pages = ceil($total_records / $records_per_page);

             //計算本頁第一條記錄的序號

             $started_redcord = $records_per_page * ($page -1);

             //將記錄指針移至本頁第一條記錄的序號

             mysql_data_seek($result, $started_redcord); // mysql_data_seek 移動函數指針

             //顯示字段名稱

             echo "<table border='1' align='center' width='800'>";

             echo "<tr align='center'>";

             for ($i = 0;$i<$total_fields;$i++)

                echo "<td>" .  mysql_field_name($result, $i) ."</td>";

              echo "</tr>";

             //顯示記錄

              $j = 1;

              while ($row =  mysql_fetch_row($result) and $j <= $records_per_page)

              {

                  echo "<tr>";

                  for ($i=0; $i<$total_fields; $i++)

                      echo "<td>$row[$i]</td>";

                  

                  $j++;

                  echo "</tr>";

                  

              }

              echo "</table>";

              //產生導航欄

              echo "<p align='center'>";

               if($page>1)

                   echo "<a href='index.php?page=".($page - 1)."'>上一頁</a>";

                    for ($i=1;$i<=$total_pages;$i++)

                    {

                        if($i==$page)

                            echo "$i";

                        else

                            echo "<a href='index.php?page=$i'>$i</a>";

                    }

                    if($page<$total_pages)

                        echo "<a href='index.php?page=". ($page+1) ."'>下一頁</a>";

                    echo "</p>";

                    //釋放內存空間

                    mysql_free_result($result);

                    mysql_close($link);  

           * */

         

          ?>

          <script type="text/javascript">

              function check_data()

              {

       

                  var myForm1 = document.myForm;

                  if(document.myForm.author.value.length == 0)

                      alert("做者字段不能夠空白哦!");

                  else if(document.myForm.subject.value.length ==0)

                      alert("主題字段不能夠空白哦");

                  else if(document.myForm.content.value.length ==0)

                      alert("內容字段不能夠空白哦");

                  else

                 

                      myForm1.submit();     

              }

      </script>

          <?php

        /*************************************************************************

         *                               遊客留言板                               *

         * ***********************************************************************

         */

          require_once("dbtools.inc.php");  //運行指定文件

           $records_per_page = 5;

             

             //取得要顯示第幾頁概率

             if(isset($_GET["page"])) //isset判段

                  $page = $_GET["page"];  

             else

                 $page =1;

             //建立數據庫鏈接

             $link = create_connection();

             //運行SQL命令

             $sql ="SELECT * FROM message ORDER BY date DESC ";//DESC降序

             $result = execute_sql("guestbook", $sql, $link);

            

             //取得記錄數

             $total_records = mysql_num_rows($result);

             //計算總頁數

             $total_pages = ceil($total_records / $records_per_page);

             //計算本頁第一條記錄的序號

             $started_redcord = $records_per_page * ($page -1);

             //將記錄指針移至本頁第一條記錄的序號

             mysql_data_seek($result, $started_redcord); // mysql_data_seek 移動函數指針

             

             //使用$bg數組來存儲表格背景色

             $bg[0] = "#d9d9ff";

             $bg[1] = "#ffcaee";

             $bg[2] = "#ffffcc";

             $bg[3] = "#b9eeb9";

             $bg[4] = "#b9e9ff";

          echo "<table width='800' align='center' cellspacing='3'>";

          //顯示記錄

          $j=1;

          while ($row=  mysql_fetch_assoc($result) and $j<=$records_per_page) //mysql_fetch_assoc

          {

              echo "<tr bgcolor='".$bg[$j-1] ."'>";

              echo "<td width='120' align='center'><img src='".mt_rand(0, 9) .".gif'></td>";

              echo "<td width='200'>做者:".$row["author"] ."<br/>";

              echo "主題: ".$row["subject"] ."<br/>";

              echo "時間:".$row["date"] ."<hr/>";

              echo $row["content"] ."</td></tr>";

              

              $j++;

          }

          echo "</table>";

          

          //生成導航欄

          echo "<p align='center' class='list'>";

            if($page > 1)

                echo "<a href='index.php?page=".($page-1)."'>上一頁</a>";

            for($i=1; $i <= $total_pages; $i++)

            {

                if($i==$page)

                    echo "$i";

                else

                    echo "<a href='index.php?page=$i'>$i</a>";

                

            }

            if($page < $total_pages)

                echo "<a href='index.php?page=".($page+1)."'>下一頁</a>";

                echo "</p>";

                

                //釋放內存空間

                mysql_free_result($result);

                mysql_close($link);

          ?>

    <form name="myForm"  method="post" action="post.php">

        <table border="0" width="800" align="center" cellspacing="0"> 

            <tr bgcolor="#0084ca" align="center">

                <td colspan="2">請在此處輸入新的留言</td>

            </tr>

            <tr bgcolor="#d9f2ff" align="center">

                <td width="15%" align="center">做者</td>

                <td width="85%" align="left" ><input type="text" name="author" value="" /></td>

            </tr>

            <tr bgcolor="#84d7ff" align="center">

                <td width="15%" align="center">主題</td>

                <td width="85%" align="left"><input type="text" name="subject" value="" /></td>

            </tr>

            <tr bgcolor="#0084ca" align="center">

                <td width="15%" align="center">內容</td>

                <td width="85%" align="left"><textarea name="content" cols="50" rows="5"></textarea></td>

            </tr>

            <tr>

                <td colspan="2" align="center">

                    <input type="button" value="submit" onClick="check_data()" />

                    <input type="reset" value="從新輸入" />

                </td>

            </tr>

        </table>

    </form>

    </body>

</html>

dbtools.inc

<?php

 

/*

 * To change this template, choose Tools | Templates

 * and open the template in the editor.

 */

function create_connection()  //create_connection自定義函數

{

    $link = mysql_connect("localhost", "root", "123@qwe") or die("沒法建立數據鏈接<br/><br/>" .  mysql_error());

    mysql_query("SET NAMES utf8");

    return $link;

}

function execute_sql($database, $sql, $link) //execute_sql 自定義函數

{

    $db_selected = mysql_select_db($database, $link)

            or die("打開數據庫失敗<br/><br/>" .  mysql_error($link));

    $result = mysql_query($sql, $link);

    return $result;

}

?>

post.php:

<?php

 

/*

 * To change this template, choose Tools | Templates

 * and open the template in the editor.

 */

//require_once("dbtools_inc.php");

$author = $_POST["author"];

$subject = $_POST["subject"];

$content = $_POST["content"];

$current_time = date("Y-m-d H:i:s");

 

require_once("dbtools.inc.php");  //運行指定文件

//建立鏈接數據庫

$link = create_connection();

//執行SQL 命令 

$sql = "INSERT INTO message(author, subject, content, date) VALUES ('$author', '$subject', '$content', '$current_time')";

$result = execute_sql("guestbook", $sql, $link);

 

//關閉數據鏈接

mysql_close($link);

//將網頁重定向到index.php

header("location:index.php"); //輸入後重載留言板,新留言會顯示在第一頁的第一條記錄。

exit();

 

?>

相關文章
相關標籤/搜索