萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php 快速入門篇二

php 快速入門篇二

革命尚未勝利~我們接著來。需要對上面進行點補充:要先創建一個數據庫才能導入哦!

  為了區分和方便講解,我把數據庫命名為list,把數據表命名為addr_list,還是把完整的SQL語句寫出來吧。

  首先創建數據庫 list:

復制內容到剪貼板
代碼:
  CREATE DATABASE `list` ;

  然後創建數據表 addr_list:

復制內容到剪貼板
代碼:
  CREATE TABLE `addr_list` (
    `id`      int(10) unsigned NOT NULL auto_increment,
    `name` varchar(10) NOT NULL,
    `sex`    tinyint(1) NOT NULL,
    `mobi`  varchar(11) NOT NULL,
    `email`  varchar(50) NOT NULL,
    `addr`   varchar(50) NOT NULL,
    PRIMARY KEY  (`id`)
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

  好,我們現在來做網頁+寫程序吧:



input.php 文件代碼:

復制內容到剪貼板
代碼:
<form id="form1" name="form1" method="post" action="post.php">
  <p>姓名:<input name="name" type="text" id="name" /></p>
  <p>
  性別:<input type="radio" name="sex" value="0" />女士 
           <input type="radio" name="sex" value="1" />先生
  </p>
  <p>手機:<input name="mobi"  type="text" id="mobi"  /></p>
  <p>郵箱:<input name="email" type="text" id="email"  /></p>
  <p>地址:<input name="addr"  type="text" id="addr"  /></p>
  <p>
        <input type="submit" name="Submit" value="添加" />
        <input type="reset" name="Submit2" value="重寫" />
  </p>
</form>

說明:因為只有HTML代碼,所以你要存成html格式的話也是可以的。不要被那些亂七八糟的<p></p>迷惑哦,我們要看的關鍵字是form還 有input。form主要看method和action,method是方法,有post和get等,關於這個你可以自己去了解一下;action是動作,也就是傳送值得的目標頁。通俗一點就是點按鈕會跑到的頁面。那麼,input要注意的是name和id,要定義一些好記的名字。為了方便記憶,我把表單名和數據庫的字段名定義成一樣的了,這並不是必須的,但還是很有必要的。最後注意的是sex,別想歪了,我說的是性別了。一定要注意它的name是一樣的,但是value不同哦。我們前面已經說過,用0表示女,用1表示男。這個表單建議用些工具去做,比如DW等,幾秒種就可以搞定了。用手寫的話,需要有一定的html語言基礎。如果使用utf8,一定要記得用工具把所有網頁都另存為utf8的哦。



post.php 文件代碼:(不完整)

復制內容到剪貼板
代碼:
<?php
//設置表單變量
$name  = $_POST['name'];
$sex     = $_POST['sex'];
$mobi   = $_POST['mobi'];
$email   = $_POST['email'];
$addr    = $_POST['addr'];

//測試是否傳值
echo $name  . '<br>';
echo $sex     . '<br>';
echo $mobi   . '<br>';
echo $email   . '<br>';
echo $addr    . '<br>';
?>

說明:這是一個不完整的post.php代碼,我們先寫一些簡單的腳本來測試input.php的值是否成功的傳到post.php頁。“設置表單變量”不是必須的,但也是很有必要的,以免發生意外狀況,呵呵。你現在所看到的變量,如$name,就是前面input.php裡的name了。比如說:<input name="mobi"  type="text" id="mobi"  />  (input.php頁),裡面的name="mobi",  就是這裡的$mobi  (post.php頁 )這個應該沒什麼問題吧?那麼就運行input.php頁,隨便填寫些信息,然後按“添加”,如果按了“添加”之後,轉到了post.php頁,並且正確的顯示了你所填寫的內容,那麼就表示傳值就成功了,我們就可以接著網下做了。小提示:echo為打印輸出,類似$name以$開頭的都是變量,<br>換行。echo是一個語言結構,並非函數,這點要記得哦。



  OK,傳值成功了,那麼我們要做的就把值寫進數據庫吧。在改進post.php之前,我們的先寫一個conn.php文件,並且調用它進行數據庫的一些操作。那麼我們來看看這段簡陋的代碼吧:

conn.php 文件代碼:

復制內容到剪貼板
代碼:
<?php
//設置數據庫變量
$db_host   = 'localhost';  //數據庫主機名稱,一般都為localhost
$db_user   = 'root';        //數據庫用戶帳號,根據個人情況而定
$db_passw = '123456';   //數據庫用戶密碼,根據個人情況而定
$db_name  = 'list';         //數據庫具體名稱,以剛才創建的數據庫為准

//連接數據庫
$conn = mysql_connect($db_host,$db_user,$db_passw) or die ('數據庫連接失敗!');

//設置字符集,如utf8和gbk等,根據數據庫的字符集而定
mysql_query("set names 'utf8'");

//選定數據庫
mysql_select_db($db_name,$conn) or die('數據庫選定失敗!');

//執行SQL語句(查詢)
$result = mysql_query($sql) or die('數據庫查詢失敗!');
?>

說明:這段代碼本身並沒有什麼作用,因為它要經常用到,所以只是為了減少工作量不必重復寫它,所以把它專門放在一個文件裡,這樣就可以隨時調用了。這裡並不需要多講解什麼,你只需要根據個人情況改一下“設置數據庫變量”和“設置字符集”的部分就可以了。不要嘗試單獨的運行conn.php這個腳本,肯定會出錯的,因為我們還沒開始設置$sql呢



  OK,數據庫的基本操作搞定了。我們來開始寫完整版的post.php吧,呵呵。

post.php 文件代碼:(完整版)

復制內容到剪貼板
代碼:
<?php
//設置表單變量
$name  = $_POST['name'];
$sex     = $_POST['sex'];
$mobi   = $_POST['mobi'];
$email   = $_POST['email'];
$addr    = $_POST['addr'];

//需要執行的SQL語句(這裡是插入數據功能)
$sql = "INSERT INTO `addr_list`
                ( `id` , `name` , `sex` , `mobi` , `email` , `addr` )
                VALUES
                (NULL , '$name', '$sex', '$mobi', '$email', '$addr')";

//調用conn.php文件進行數據庫操作
require('conn.php');

//提示操作成功信息,注意:$result存在於conn.php文件中,被調用出來
if($result)
{
        echo '恭喜,操作成功!<p>';
}
?>
[<a href="show.php">查看通訊錄</a>] [<a href="input.php">繼續添加</a>]

說明:終於見到post.php的完整版了,夠簡陋了吧?呵呵。這裡需要注意的是$sql中的SQL語句,如果不會SQL語句的話,可以用phpMyadmin去扣,具體怎麼扣,就請各位自己google一下咯,有時間的話再另寫了。建議還是學學SQL語法比較好一些。接著看$sql,id對應NULL,前面說過,id建立以後就不用管了,所以可以留空值,接下,數據庫的name字段對應$name變量,以此類推就可以咯。寫出你需要執行的語句,然後調用conn.php執行就可以了。就這麼簡單。為了使界面人性化一點,我們應該加些操作提示和相關鏈接。這樣我們的post.php就算完成了,呵呵,超簡陋。不過用來學習,應該追求簡陋比較好,呵呵。



  OK,現在我們就來做show.php,顯示頁吧。已經完成獎將近一半的工作咯,再堅持下就大功告成了。

show.php 文件代碼:

復制內容到剪貼板
代碼:
[<a href="input.php">繼續添加</a>]
<?php
//這裡是PHP代碼
$sql = "SELECT * FROM `addr_list`";//需要執行的SQL語句(這裡是浏覽數據功能)
require('conn.php');               //調用conn.php文件,執行數據庫操作
?>

        <!---這裡HTML代碼,創建一個表格--->
        <table width="100%" border="1">
         <tr>
             <th bgcolor="#CCCCCC" scope="col">姓名</th>
             <th bgcolor="#CCCCCC" scope="col">性別</th>
             <th bgcolor="#CCCCCC" scope="col">手機</th>
             <th bgcolor="#CCCCCC" scope="col">郵箱</th>
           <th bgcolor="#CCCCCC" scope="col">地址</th>
         </tr>


<?php
//這裡是PHP代碼
while($row = mysql_fetch_row($result)) //循環開始
{

                //判斷性別
        if($row[2]==0)
        {
                $sex = '女士';
        }
        else
        {
                $sex = '先生';
        }
?>

        <!---被循環的HTML表格中帶有PHP代碼--->
            <tr>
              <td><?php echo $row[1]; ?></td>
              <td><?php echo $sex;      ?></td>
              <td><?php echo $row[3]; ?></td>
              <td><?php echo $row[4]; ?></td>
                <td><?php echo $row[5]; ?></td>
            </tr>


<?php
}
?>

</table>

說明:這段代碼就極度扯蛋了,因為這裡我們不可能講到諸如Smarty和PHPlib之類的模板引擎,所以只能是PHP夾著HTML丟在同一個文件裡面了,但是真正開發的時候可千萬不能這麼干啊,不然我就成千古罪人了。形勢所迫,形勢所迫,大家將就一下吧。也不是很難看懂,抓住一個原則 <?php 這裡裡面的就是PHP代碼 ?>,反之,外面的就是HTML代碼咯。著重講一下while($row = mysql_fetch_row($result)) 吧,在這裡mysql_fetch_row($result)將我們執行SQL語句獲得結果集保存為數組。當然你不需要急著去了解什麼叫做數組,你只需要知道,它幫我們的字段排好隊了,記得從0開始排的哦:0->id;  1->name;  2->sex;  3->mobi;   4->email;   5->addr   這樣一目了然了,我們需要調用的時候就用$row[X]來調用,X就是隊列號,比如調用name,就是$row[1],因為我們不要求顯示id,所以上面的代碼中沒有$row[0],那為什麼多了$sex呢?因為我們不能用數字來顯示性別吧,所以加了個條件句:如果$row[2]等於0,那麼就顯示"女士",否則就顯示"先生"。當然你可以隨便改這個性別的稱呼了,比如0顯示夏娃,1顯示亞當,呵呵。



  OK,那麼就先到這裡吧。還剩下兩部分:修改和刪除,我們下次搞定它們。看起來快,寫起來就不是那麼容易了,我手都快脫臼了,呵呵。

copyright © 萬盛學電腦網 all rights reserved