版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
10.2管理MySQL數(shù)據(jù)庫中的數(shù)據(jù)陳學(xué)平
012管理MySQL數(shù)據(jù)庫中的數(shù)據(jù)2管理MySQL數(shù)據(jù)庫中的數(shù)據(jù)Web系統(tǒng)中,常常需要用戶在瀏覽器上通過表單對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行操作,如添加數(shù)據(jù)記錄、更新數(shù)據(jù)記錄和刪除數(shù)據(jù)記錄等。這一節(jié)將對用戶在HTML表單上對數(shù)據(jù)進(jìn)行操作,然后提交至服務(wù)器并使用mysqli_query()函數(shù)執(zhí)行SQL語句的方式操作數(shù)據(jù)進(jìn)行詳細(xì)講解。2.1添加數(shù)據(jù)在實際的應(yīng)用中,用戶常常直接在瀏覽器表單中輸入相關(guān)數(shù)據(jù),然后提交表單。服務(wù)器站在接收到用戶提交的數(shù)據(jù)后采用mysqli_query()函數(shù)執(zhí)行相應(yīng)的INSERT語句將用戶輸入的數(shù)據(jù)添加至數(shù)據(jù)庫。【實例10-12】用戶輸入數(shù)據(jù)的HTML頁面代碼。代碼如下所示。<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml">2.1添加數(shù)據(jù)<head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><title>添加數(shù)據(jù)</title></head><body><formid="form1"name="form1"method="post"action="13.php"><tablewidth="512"border="1"><tr>2.1添加數(shù)據(jù)<tdwidth="63">姓名:</td><tdwidth="433"><inputname="username"type="text"id="username"size="10"/></td></tr><tr><td>性別:</td><td><inputname="sex"type="text"id="sex"size="5"/></td></tr><tr><td>地址:</td>2.1添加數(shù)據(jù)<td><inputtype="text"name="address"id="address"size="50"/></td></tr><tr><td>郵件:</td><td><inputname="email"type="text"id="email"size="20"/></td></tr><tr><td></td><td><inputtype="submit"name="submit"id="submit"value="提交"/></td></tr>2.1添加數(shù)據(jù)</table></form></body></html>顯示如圖10-5所示。2.1添加數(shù)據(jù)圖10-5插入數(shù)據(jù)前端頁面分析:在上述代碼中,設(shè)置了一個用戶輸入數(shù)據(jù)的表單。在用戶單擊【提交】按鈕后,將表單提交至服務(wù)器進(jìn)行處理。【實例10-13】服務(wù)器在接收到用戶所提交的數(shù)據(jù)后,使用mysql_qeury()函數(shù)將用戶所提交的數(shù)據(jù)添加至數(shù)據(jù)庫。代碼如下所示。<?phpheader("Content-Type:text/html;charset=GB2312");$username=$_POST['username'];//獲取表單數(shù)據(jù)$sex=$_POST['sex'];2.1添加數(shù)據(jù)$address=$_POST['address'];$email=$_POST['email'];$ins_sql="insertintouserinfo(username,sex,address,email)values('$username','$sex','$address','$email')";//組成SQL語句$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失?。?);//連接數(shù)據(jù)庫服務(wù)器$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫2.1添加數(shù)據(jù)$myquery=mysqli_query($link,$ins_sql);//執(zhí)行SQL語句if($myquery){echo"插入數(shù)據(jù)成功!";}else{echo"插入數(shù)據(jù)失敗!";}mysqli_close($link);//關(guān)閉數(shù)據(jù)庫連接?>顯示如圖10-6所示。2.1添加數(shù)據(jù)圖10-6插入數(shù)據(jù)成功分析:在上述程序中,首先獲取表單數(shù)據(jù),再將表單數(shù)據(jù)組成SQL語句,然后使用mysqlIi_query()函數(shù)執(zhí)行該SQL語句,并根據(jù)返回結(jié)果輸入不同的提示信息。2.2更新數(shù)據(jù)在實際的應(yīng)用中,用戶常常需要對選擇的數(shù)據(jù)進(jìn)行修改?!緦嵗?0-14】如何在頁面中瀏覽數(shù)據(jù)。代碼如下所示。<?phpheader("Content-Type:text/html;charset=GB2312");$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失敗!");//連接數(shù)據(jù)庫服務(wù)器$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫2.2更新數(shù)據(jù)mysqli_query($link,"setnamesGB2312");//設(shè)置輸出字符編碼$myquery=@mysqli_query($link,"select*fromuserinfo")ordie("SQL語句執(zhí)行失敗!");//執(zhí)行SQL語句$page_size=3;$num_cnt=mysqli_num_rows($myquery);//獲取所有記錄$page_cnt=ceil($num_cnt/$page_size);//計算所有頁數(shù)2.2更新數(shù)據(jù)if(isset($_GET['p'])){$page=$_GET['p'];}else{$page=1;$query_start=($1)*$page_size;//計算每頁開始記錄號$querysql="select*fromuserinfolimit$query_start,$page_size";//組成SQL語句$queryset=mysqli_query($link,$querysql);//執(zhí)行SQL語句2.2更新數(shù)據(jù)echo"<tableborder=\"1\"><tr><th>id</th><th>姓名</th><th>性別</th><th>地址</th><th>郵件</th><th>操作</th></tr>";while($row=mysqli_fetch_array($queryset,MYSQLI_ASSOC)){//循環(huán)獲取結(jié)果集echo"<tr><td>".$row["userid"]."</td>";echo"<td>".$row["username"]."</td>";echo"<td>".$row["sex"]."</td>";2.2更新數(shù)據(jù)echo"<td>".$row["address"]."</td>";echo"<td>".$row["email"]."</td><td><ahref='15.php?id=$row[userid]'>修改</a></td></tr>";}echo"</table><br>";$pager="共$page_cnt頁跳轉(zhuǎn)至第";if($page_cnt>1){for($i=1;$i<=$page_cnt;$i++){if($page==$i){2.2更新數(shù)據(jù)$pager.="<ahref='?p=$i'><b>$i</b></a>";}else{$pager.="<ahref='?p=$i'>$i</a>";}}echo$pager."頁";//顯示分頁}}mysqli_close($link);//關(guān)閉連接2.2更新數(shù)據(jù)?>顯示如圖10-7所示。圖10-7數(shù)據(jù)顯示分析:在上述程序中,以每頁顯示3行記錄的方式進(jìn)行瀏覽。用戶單擊每一行后的【修改】鏈接時,將跳轉(zhuǎn)至修改頁面。2.2更新數(shù)據(jù)【實例10-15】根據(jù)ID號調(diào)用其信息并顯示在HTML表單。代碼如下所示。<?phpif(isset($_GET['id'])){//若沒有參數(shù)ID,則顯示出錯信息$id=$_GET['id'];header("Content-Type:text/html;charset=GB2312");$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失?。?);//連接數(shù)據(jù)庫服務(wù)器2.2更新數(shù)據(jù)$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫mysqli_query($link,"setnamesGB2312");//設(shè)置輸出字符編碼$sql="select*fromuserinfowhereuserid='$id'";//組成SQL語句$myquery=@mysqli_query($link,$sql)ordie("SQL語句執(zhí)行失敗!");//執(zhí)行SQL語句$row=mysqli_fetch_array($myquery,MYSQLI_ASSOC);//獲取結(jié)果集321452.2更新數(shù)據(jù)echo<<<Eof<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="/1999/xhtml"><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>2.2更新數(shù)據(jù)<title>修改數(shù)據(jù)</title></head><formaction="16.php"method="post"name="updinfo"><tablewidth="200"border="1"><tr><td>ID:</td><td>$row[userid]</td></tr><tr>2.2更新數(shù)據(jù)<td>姓名:</td><td><inputname="username"type="text"value="$row[username]"size="10"/></td></tr><tr><td>性別:</td><td><inputname="sex"type="text"value="$row[sex]"size="5"/></td></tr><tr><td>地址:</td>2.2更新數(shù)據(jù)<td><inputname="address"type="text"value="$row[address]"size="50"/></td></tr><tr><td>郵件:</td><td><inputname="email"type="text"value="$row[email]"size="30"/></td></tr><tr><td><inputtype="hidden"name="hid"value="$row[userid]"></td>2.2更新數(shù)據(jù)<td><inputname="submit"type="submit"value="提交"/></td></tr></table></form><body></body></html>Eof;mysqli_close($link);}else{2.2更新數(shù)據(jù)echo"ID號錯誤,請<ahref='14.php'>瀏覽</a>";}?>顯示如圖10-8所示。圖10-8修改頁面修改數(shù)據(jù)為圖10-9所示。2.2更新數(shù)據(jù)圖10-9修改數(shù)據(jù)分析:在上述程序中,根據(jù)用戶提交的ID,從數(shù)據(jù)庫獲取信息,并顯示在HTML表單上。用戶可以自行修改其中信息,然后提交表單?!緦嵗?0-16】根據(jù)用戶提交的表單中的信息進(jìn)行修改。代碼如下所示。<?php2.2更新數(shù)據(jù)$hid=$_POST['hid'];//獲取表單USERID$username=$_POST['username'];//獲取表單姓名$sex=$_POST['sex'];//獲取表單性別$address=$_POST['address'];//獲取表單地址$email=$_POST['email'];//獲取表單郵件地址$upd_sql="updateuserinfosetusername='$username',sex='$sex',address='$address',email='$email'whereuserid='$hid'";//組成SQL語句2.2更新數(shù)據(jù)1header("Content-Type:text/html;charset=GB2312");2$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失敗!");//連接數(shù)據(jù)庫服務(wù)器3$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫4mysqli_query($link,"setnamesGB2312");//設(shè)置輸出字符編碼5$myquery=mysqli_query($link,$upd_sql);//執(zhí)行SQL語句2.2更新數(shù)據(jù)if($myquery){//根據(jù)返回值給出不同提示信息1echo"更新數(shù)據(jù)成功!";2}else{3echo"更新數(shù)據(jù)失??!";4}5echo"<ahref='14.php'>瀏覽</a>";6mysqli_close($link);//關(guān)閉數(shù)據(jù)庫連接7?>8顯示如圖10-10所示。92.2更新數(shù)據(jù)圖10-10更新成功查看更新的數(shù)據(jù)如圖10-11所示。2.2更新數(shù)據(jù)圖10-11查看更新數(shù)據(jù)分析:在上述程序中,根據(jù)用戶提交的表單數(shù)據(jù),組成SQL語句,再使用mysql_query()函數(shù)執(zhí)行該語句完成資料的修改。2.3刪除數(shù)據(jù)在實際應(yīng)用中,常常需要提供刪除功能。通常使用的方式是讓用戶自行選擇要刪除的資料,再給出提示框,讓用戶確認(rèn)是否真的刪除該信息?!緦嵗?0-17】用戶在選擇要刪除的資料時彈出相應(yīng)的窗口。代碼如下所示。<scriptlanguage="javascript">functionchk(id){//確認(rèn)刪除函數(shù)if(confirm("確定要刪除該資料?")){window.location="18.php?id="+id;}else{returnfalse;}2.3刪除數(shù)據(jù)}</script><?phpheader("Content-Type:text/html;charset=GB2312");$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失敗!");//連接數(shù)據(jù)庫服務(wù)器$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫2.3刪除數(shù)據(jù)mysqli_query($link,"setnamesGB2312");//設(shè)置輸出字符編碼$myquery=@mysqli_query($link,"select*fromuserinfo")ordie("SQL語句執(zhí)行失敗!");//執(zhí)行SQL語句$page_size=3;//設(shè)置每頁顯示記錄數(shù)$num_cnt=mysqli_num_rows($myquery);//獲取總的記錄數(shù)$page_cnt=ceil($num_cnt/$page_size);//計算總的頁數(shù)2.3刪除數(shù)據(jù)if(isset($_GET['p'])){$page=$_GET['p'];}else{$page=1;}$query_start=($1)*$page_size;//計算每頁開始的記錄號$querysql="select*fromuserinfolimit$query_start,$page_size";$queryset=mysqli_query($link,$querysql);//執(zhí)行SQL語句echo"<tableborder=\"1\"><tr><th>id</th><th>姓名</th><th>性別</th><th>地址</th><th>郵件</th><th>操作</th></tr>";while($row=mysqli_fetch_array($queryset,MYSQLI_ASSOC)){//循環(huán)獲取結(jié)果集echo"<tr><td>".$row["userid"]."</td>";2.3刪除數(shù)據(jù)echo"<td>".$row["username"]."</td>";echo"<td>".$row["sex"]."</td>";echo"<td>".$row["address"]."</td>";echo"<td>".$row["email"]."</td><td><ahref='15.php?id=$row[userid]'>修改</a><ahref='javascript:void(0);'onclick='chk($row[userid]);'>刪除</a></td></tr>";}echo"</table><br>";$pager="共$page_cnt頁跳轉(zhuǎn)至第";if($page_cnt>1){for($i=1;$i<=$page_cnt;$i++){if($page==$i){$pager.="<ahref='?p=$i'><b>$i</b></a>";}else{$pager.="<ahref='?p=$i'>$i</a>";}}echo$pager."頁";//顯示分頁}mysqli_close($link);//關(guān)閉數(shù)據(jù)庫連接?>2.3刪除數(shù)據(jù)顯示數(shù)據(jù)如圖10-12所示。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 插圖在小學(xué)課本的互動教學(xué)作用
- 個性化彩繪協(xié)議規(guī)范文檔2024年版
- 教育機(jī)構(gòu)客戶服務(wù)流程的個性化改造
- 數(shù)字化時代的學(xué)習(xí)心理變革
- 二零二五年度鏟車租賃與道路施工許可證合同3篇
- 教育視域下的學(xué)生心理健康挑戰(zhàn)與對策分析
- 網(wǎng)絡(luò)安全教育構(gòu)建孩子信息安全防線
- 漯河2024年河南漯河市立醫(yī)院(漯河市骨科醫(yī)院漯河醫(yī)專二附院)招聘高層次人才筆試歷年參考題庫附帶答案詳解
- 漯河2024年河南漯河市中醫(yī)院招聘高層次人才5人筆試歷年參考題庫附帶答案詳解
- 湖北2025年湖北武漢理工大學(xué)專職輔導(dǎo)員招聘筆試歷年參考題庫附帶答案詳解
- 電工中級工練習(xí)題庫(含參考答案)
- 學(xué)校幫扶工作計劃
- 期末綜合試卷(試題)2024-2025學(xué)年人教版數(shù)學(xué)五年級上冊(含答案)
- UL2034標(biāo)準(zhǔn)中文版-2017一氧化碳報警器UL中文版標(biāo)準(zhǔn)
- 感恩的心培訓(xùn)資料
- 《精密板料矯平機(jī) 第3部分:精度》
- (完整版)水利部考試歷年真題-水利基礎(chǔ)知識試題集
- 浙江省杭州市2024-2025學(xué)年高三上學(xué)期一模英語試題(含解析無聽力原文及音頻)
- 2024年廣東省公務(wù)員考試《行測》真題及答案解析
- 個人頂賬房合同范例
- 安徽省淮南四中2025屆高二上數(shù)學(xué)期末統(tǒng)考模擬試題含解析
評論
0/150
提交評論