30分鐘學(xué)會(huì)用PHP寫帶數(shù)據(jù)庫(kù)的簡(jiǎn)單通訊錄第2/3頁(yè)
更新時(shí)間:2006年12月23日 00:00:00 投稿:mdxy-dxy
這篇文章主要給大家介紹了關(guān)于30分鐘學(xué)會(huì)用PHP寫帶數(shù)據(jù)庫(kù)的簡(jiǎn)單通訊錄,需要的朋友可以參考下
input.php 文件代碼:
復(fù)制代碼 代碼如下:
<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>手機(jī):<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>
說明:因?yàn)橹挥蠬TML代碼,所以你要存成html格式的話也是可以的。不要被那些亂七八糟的<p></p>迷惑哦,我們要看的關(guān)鍵字是form還 有input。form主要看method和action,method是方法,有post和get等,關(guān)于這個(gè)你可以自己去了解一下;action是動(dòng)作,也就是傳送值得的目標(biāo)頁(yè)。通俗一點(diǎn)就是點(diǎn)按鈕會(huì)跑到的頁(yè)面。那么,input要注意的是name和id,要定義一些好記的名字。為了方便記憶,我把表單名和數(shù)據(jù)庫(kù)的字段名定義成一樣的了,這并不是必須的,但還是很有必要的。最后注意的是sex,別想歪了,我說的是性別了。一定要注意它的name是一樣的,但是value不同哦。我們前面已經(jīng)說過,用0表示女,用1表示男。這個(gè)表單建議用些工具去做,比如DW等,幾秒種就可以搞定了。用手寫的話,需要有一定的html語(yǔ)言基礎(chǔ)。如果使用utf8,一定要記得用工具把所有網(wǎng)頁(yè)都另存為utf8的哦。<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>手機(jī):<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>
post.php 文件代碼:(不完整)
復(fù)制代碼 代碼如下:
<?php
//設(shè)置表單變量
$name = $_POST[’name’];
$sex = $_POST[’sex’];
$mobi = $_POST[’mobi’];
$email = $_POST[’email’];
$addr = $_POST[’addr’];
//測(cè)試是否傳值
echo $name . ’<br>’;
echo $sex . ’<br>’;
echo $mobi . ’<br>’;
echo $email . ’<br>’;
echo $addr . ’<br>’;
?>
//設(shè)置表單變量
$name = $_POST[’name’];
$sex = $_POST[’sex’];
$mobi = $_POST[’mobi’];
$email = $_POST[’email’];
$addr = $_POST[’addr’];
//測(cè)試是否傳值
echo $name . ’<br>’;
echo $sex . ’<br>’;
echo $mobi . ’<br>’;
echo $email . ’<br>’;
echo $addr . ’<br>’;
?>
說明:這是一個(gè)不完整的post.php代碼,我們先寫一些簡(jiǎn)單的腳本來測(cè)試input.php的值是否成功的傳到post.php頁(yè)。“設(shè)置表單變量”不是必須的,但也是很有必要的,以免發(fā)生意外狀況,呵呵。你現(xiàn)在所看到的變量,如$name,就是前面input.php里的name了。比如說:<input name="mobi" type="text" id="mobi" /> (input.php頁(yè)),里面的name="mobi", 就是這里的$mobi (post.php頁(yè) )這個(gè)應(yīng)該沒什么問題吧?那么就運(yùn)行input.php頁(yè),隨便填寫些信息,然后按“添加”,如果按了“添加”之后,轉(zhuǎn)到了post.php頁(yè),并且正確的顯示了你所填寫的內(nèi)容,那么就表示傳值就成功了,我們就可以接著網(wǎng)下做了。小提示:echo為打印輸出,類似$name以$開頭的都是變量,<br>換行。echo是一個(gè)語(yǔ)言結(jié)構(gòu),并非函數(shù),這點(diǎn)要記得哦。
OK,傳值成功了,那么我們要做的就把值寫進(jìn)數(shù)據(jù)庫(kù)吧。在改進(jìn)post.php之前,我們的先寫一個(gè)conn.php文件,并且調(diào)用它進(jìn)行數(shù)據(jù)庫(kù)的一些操作。那么我們來看看這段簡(jiǎn)陋的代碼吧:
conn.php 文件代碼:
復(fù)制代碼 代碼如下:
<?php
//設(shè)置數(shù)據(jù)庫(kù)變量
$db_host = ’localhost’; //數(shù)據(jù)庫(kù)主機(jī)名稱,一般都為localhost
$db_user = ’root’; //數(shù)據(jù)庫(kù)用戶帳號(hào),根據(jù)個(gè)人情況而定
$db_passw = ’123456’; //數(shù)據(jù)庫(kù)用戶密碼,根據(jù)個(gè)人情況而定
$db_name = ’list’; //數(shù)據(jù)庫(kù)具體名稱,以剛才創(chuàng)建的數(shù)據(jù)庫(kù)為準(zhǔn)
//連接數(shù)據(jù)庫(kù)
$conn = mysql_connect($db_host,$db_user,$db_passw) or die (’數(shù)據(jù)庫(kù)連接失?。?rsquo;);
//設(shè)置字符集,如utf8和gbk等,根據(jù)數(shù)據(jù)庫(kù)的字符集而定
mysql_query("set names ’utf8’");
//選定數(shù)據(jù)庫(kù)
mysql_select_db($db_name,$conn) or die(’數(shù)據(jù)庫(kù)選定失??!’);
//執(zhí)行SQL語(yǔ)句(查詢)
$result = mysql_query($sql) or die(’數(shù)據(jù)庫(kù)查詢失?。?rsquo;);
?>
說明:這段代碼本身并沒有什么作用,因?yàn)樗?jīng)常用到,所以只是為了減少工作量不必重復(fù)寫它,所以把它專門放在一個(gè)文件里,這樣就可以隨時(shí)調(diào)用了。這里并不需要多講解什么,你只需要根據(jù)個(gè)人情況改一下“設(shè)置數(shù)據(jù)庫(kù)變量”和“設(shè)置字符集”的部分就可以了。不要嘗試單獨(dú)的運(yùn)行conn.php這個(gè)腳本,肯定會(huì)出錯(cuò)的,因?yàn)槲覀冞€沒開始設(shè)置$sql呢 //設(shè)置數(shù)據(jù)庫(kù)變量
$db_host = ’localhost’; //數(shù)據(jù)庫(kù)主機(jī)名稱,一般都為localhost
$db_user = ’root’; //數(shù)據(jù)庫(kù)用戶帳號(hào),根據(jù)個(gè)人情況而定
$db_passw = ’123456’; //數(shù)據(jù)庫(kù)用戶密碼,根據(jù)個(gè)人情況而定
$db_name = ’list’; //數(shù)據(jù)庫(kù)具體名稱,以剛才創(chuàng)建的數(shù)據(jù)庫(kù)為準(zhǔn)
//連接數(shù)據(jù)庫(kù)
$conn = mysql_connect($db_host,$db_user,$db_passw) or die (’數(shù)據(jù)庫(kù)連接失?。?rsquo;);
//設(shè)置字符集,如utf8和gbk等,根據(jù)數(shù)據(jù)庫(kù)的字符集而定
mysql_query("set names ’utf8’");
//選定數(shù)據(jù)庫(kù)
mysql_select_db($db_name,$conn) or die(’數(shù)據(jù)庫(kù)選定失??!’);
//執(zhí)行SQL語(yǔ)句(查詢)
$result = mysql_query($sql) or die(’數(shù)據(jù)庫(kù)查詢失?。?rsquo;);
?>
OK,數(shù)據(jù)庫(kù)的基本操作搞定了。我們來開始寫完整版的post.php吧,呵呵。
post.php 文件代碼:(完整版)
復(fù)制代碼 代碼如下:
<?php
//設(shè)置表單變量
$name = $_POST[’name’];
$sex = $_POST[’sex’];
$mobi = $_POST[’mobi’];
$email = $_POST[’email’];
$addr = $_POST[’addr’];
//需要執(zhí)行的SQL語(yǔ)句(這里是插入數(shù)據(jù)功能)
$sql = "INSERT INTO `addr_list`
( `id` , `name` , `sex` , `mobi` , `email` , `addr` )
VALUES
(NULL , ’$name’, ’$sex’, ’$mobi’, ’$email’, ’$addr’)";
//調(diào)用conn.php文件進(jìn)行數(shù)據(jù)庫(kù)操作
require(’conn.php’);
//提示操作成功信息,注意:$result存在于conn.php文件中,被調(diào)用出來
if($result)
{
echo ’恭喜,操作成功!<p>’;
}
?>
[<a href="show.php">查看通訊錄</a>] [<a href="input.php">繼續(xù)添加</a>]
說明:終于見到post.php的完整版了,夠簡(jiǎn)陋了吧?呵呵。這里需要注意的是$sql中的SQL語(yǔ)句,如果不會(huì)SQL語(yǔ)句的話,可以用phpMyadmin去扣,具體怎么扣,就請(qǐng)各位自己google一下咯,有時(shí)間的話再另寫了。建議還是學(xué)學(xué)SQL語(yǔ)法比較好一些。接著看$sql,id對(duì)應(yīng)NULL,前面說過,id建立以后就不用管了,所以可以留空值,接下,數(shù)據(jù)庫(kù)的name字段對(duì)應(yīng)$name變量,以此類推就可以咯。寫出你需要執(zhí)行的語(yǔ)句,然后調(diào)用conn.php執(zhí)行就可以了。就這么簡(jiǎn)單。為了使界面人性化一點(diǎn),我們應(yīng)該加些操作提示和相關(guān)鏈接。這樣我們的post.php就算完成了,呵呵,超簡(jiǎn)陋。不過用來學(xué)習(xí),應(yīng)該追求簡(jiǎn)陋比較好,呵呵。//設(shè)置表單變量
$name = $_POST[’name’];
$sex = $_POST[’sex’];
$mobi = $_POST[’mobi’];
$email = $_POST[’email’];
$addr = $_POST[’addr’];
//需要執(zhí)行的SQL語(yǔ)句(這里是插入數(shù)據(jù)功能)
$sql = "INSERT INTO `addr_list`
( `id` , `name` , `sex` , `mobi` , `email` , `addr` )
VALUES
(NULL , ’$name’, ’$sex’, ’$mobi’, ’$email’, ’$addr’)";
//調(diào)用conn.php文件進(jìn)行數(shù)據(jù)庫(kù)操作
require(’conn.php’);
//提示操作成功信息,注意:$result存在于conn.php文件中,被調(diào)用出來
if($result)
{
echo ’恭喜,操作成功!<p>’;
}
?>
[<a href="show.php">查看通訊錄</a>] [<a href="input.php">繼續(xù)添加</a>]
OK,現(xiàn)在我們就來做show.php,顯示頁(yè)吧。已經(jīng)完成獎(jiǎng)將近一半的工作咯,再堅(jiān)持下就大功告成了。
show.php 文件代碼:
復(fù)制代碼 代碼如下:
[<a href="input.php">繼續(xù)添加</a>]
<?php
//這里是PHP代碼
$sql = "SELECT * FROM `addr_list`";//需要執(zhí)行的SQL語(yǔ)句(這里是瀏覽數(shù)據(jù)功能)
require(’conn.php’); //調(diào)用conn.php文件,執(zhí)行數(shù)據(jù)庫(kù)操作
?>
<!---這里HTML代碼,創(chuàng)建一個(gè)表格--->
<table width="100%" border="1">
<tr>
<th bgcolor="#CCCCCC" scope="col">姓名</th>
<th bgcolor="#CCCCCC" scope="col">性別</th>
<th bgcolor="#CCCCCC" scope="col">手機(jī)</th>
<th bgcolor="#CCCCCC" scope="col">郵箱</th>
<th bgcolor="#CCCCCC" scope="col">地址</th>
</tr>
<?php
//這里是PHP代碼
while($row = mysql_fetch_row($result)) //循環(huán)開始
{
//判斷性別
if($row[2]==0)
{
$sex = ’女士’;
}
else
{
$sex = ’先生’;
}
?>
<!---被循環(huán)的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>
<?php
//這里是PHP代碼
$sql = "SELECT * FROM `addr_list`";//需要執(zhí)行的SQL語(yǔ)句(這里是瀏覽數(shù)據(jù)功能)
require(’conn.php’); //調(diào)用conn.php文件,執(zhí)行數(shù)據(jù)庫(kù)操作
?>
<!---這里HTML代碼,創(chuàng)建一個(gè)表格--->
<table width="100%" border="1">
<tr>
<th bgcolor="#CCCCCC" scope="col">姓名</th>
<th bgcolor="#CCCCCC" scope="col">性別</th>
<th bgcolor="#CCCCCC" scope="col">手機(jī)</th>
<th bgcolor="#CCCCCC" scope="col">郵箱</th>
<th bgcolor="#CCCCCC" scope="col">地址</th>
</tr>
<?php
//這里是PHP代碼
while($row = mysql_fetch_row($result)) //循環(huán)開始
{
//判斷性別
if($row[2]==0)
{
$sex = ’女士’;
}
else
{
$sex = ’先生’;
}
?>
<!---被循環(huán)的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>
說明:這段代碼就極度扯蛋了,因?yàn)檫@里我們不可能講到諸如Smarty和PHPlib之類的模板引擎,所以只能是PHP夾著HTML丟在同一個(gè)文件里面了,但是真正開發(fā)的時(shí)候可千萬(wàn)不能這么干啊,不然我就成千古罪人了。形勢(shì)所迫,形勢(shì)所迫,大家將就一下吧。也不是很難看懂,抓住一個(gè)原則 <?php 這里里面的就是PHP代碼 ?>,反之,外面的就是HTML代碼咯。著重講一下while($row = mysql_fetch_row($result)) 吧,在這里mysql_fetch_row($result)將我們執(zhí)行SQL語(yǔ)句獲得結(jié)果集保存為數(shù)組。當(dāng)然你不需要急著去了解什么叫做數(shù)組,你只需要知道,它幫我們的字段排好隊(duì)了,記得從0開始排的哦:0->id; 1->name; 2->sex; 3->mobi; 4->email; 5->addr 這樣一目了然了,我們需要調(diào)用的時(shí)候就用$row[X]來調(diào)用,X就是隊(duì)列號(hào),比如調(diào)用name,就是$row[1],因?yàn)槲覀儾灰箫@示id,所以上面的代碼中沒有$row[0],那為什么多了$sex呢?因?yàn)槲覀儾荒苡脭?shù)字來顯示性別吧,所以加了個(gè)條件句:如果$row[2]等于0,那么就顯示"女士",否則就顯示"先生"。當(dāng)然你可以隨便改這個(gè)性別的稱呼了,比如0顯示夏娃,1顯示亞當(dāng),呵呵。
OK,那么就先到這里吧。還剩下兩部分:修改和刪除,我們下次搞定它們。看起來快,寫起來就不是那么容易了,我手都快脫臼了,呵呵。
您可能感興趣的文章:
- java微信企業(yè)號(hào)開發(fā)之通訊錄
- 一個(gè)簡(jiǎn)單的python程序?qū)嵗?通訊錄)
- Android通訊錄開發(fā)之刪除功能的實(shí)現(xiàn)方法
- Android獲取手機(jī)通訊錄、sim卡聯(lián)系人及調(diào)用撥號(hào)界面方法
- Ionic實(shí)現(xiàn)仿通訊錄點(diǎn)擊滑動(dòng)及$ionicscrolldelegate使用分析
- 使用adb命令向Android模擬器中導(dǎo)入通訊錄聯(lián)系人的方法
- AngularJS + Node.js + MongoDB開發(fā)的基于高德地圖位置的通訊錄
- iOS開發(fā)中使app獲取本機(jī)通訊錄的實(shí)現(xiàn)代碼實(shí)例
- Android實(shí)現(xiàn)通訊錄效果——獲取手機(jī)號(hào)碼和姓名
- java web個(gè)人通訊錄系統(tǒng)設(shè)計(jì)
相關(guān)文章
PHP個(gè)人網(wǎng)站架設(shè)連環(huán)講(三)
PHP個(gè)人網(wǎng)站架設(shè)連環(huán)講(三)...2006-10-10PHP5權(quán)威編程閱讀學(xué)習(xí)筆記 附電子書下載
PHP5中,使用新的統(tǒng)一的構(gòu)造函數(shù)命名方式:__construct(),當(dāng)然,使用類名同樣也是可以的2012-07-07《PHP編程最快明白》第七講:php圖片驗(yàn)證碼與縮略圖
這個(gè)是輸出4個(gè)驗(yàn)證碼的例子,對(duì)于漢字,需要font文件和imagettftext函數(shù),用到的時(shí)候大家再網(wǎng)上搜索吧。2010-11-11