PHP程序設計基礎(微課版)(第2版)課件 2.PHP管理MYSQL數(shù)據(jù)庫中的數(shù)據(jù)_第1頁
PHP程序設計基礎(微課版)(第2版)課件 2.PHP管理MYSQL數(shù)據(jù)庫中的數(shù)據(jù)_第2頁
PHP程序設計基礎(微課版)(第2版)課件 2.PHP管理MYSQL數(shù)據(jù)庫中的數(shù)據(jù)_第3頁
PHP程序設計基礎(微課版)(第2版)課件 2.PHP管理MYSQL數(shù)據(jù)庫中的數(shù)據(jù)_第4頁
PHP程序設計基礎(微課版)(第2版)課件 2.PHP管理MYSQL數(shù)據(jù)庫中的數(shù)據(jù)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

10.2管理MySQL數(shù)據(jù)庫中的數(shù)據(jù)陳學平

012管理MySQL數(shù)據(jù)庫中的數(shù)據(jù)2管理MySQL數(shù)據(jù)庫中的數(shù)據(jù)Web系統(tǒng)中,常常需要用戶在瀏覽器上通過表單對數(shù)據(jù)庫中的數(shù)據(jù)進行操作,如添加數(shù)據(jù)記錄、更新數(shù)據(jù)記錄和刪除數(shù)據(jù)記錄等。這一節(jié)將對用戶在HTML表單上對數(shù)據(jù)進行操作,然后提交至服務器并使用mysqli_query()函數(shù)執(zhí)行SQL語句的方式操作數(shù)據(jù)進行詳細講解。2.1添加數(shù)據(jù)在實際的應用中,用戶常常直接在瀏覽器表單中輸入相關數(shù)據(jù),然后提交表單。服務器站在接收到用戶提交的數(shù)據(jù)后采用mysqli_query()函數(shù)執(zhí)行相應的INSERT語句將用戶輸入的數(shù)據(jù)添加至數(shù)據(jù)庫?!緦嵗?0-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ù)據(jù)的表單。在用戶單擊【提交】按鈕后,將表單提交至服務器進行處理?!緦嵗?0-13】服務器在接收到用戶所提交的數(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ù)庫服務器$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);//關閉數(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ù)在實際的應用中,用戶常常需要對選擇的數(shù)據(jù)進行修改?!緦嵗?0-14】如何在頁面中瀏覽數(shù)據(jù)。代碼如下所示。<?phpheader("Content-Type:text/html;charset=GB2312");$link=@mysqli_connect("localhost","root","root")ordie("數(shù)據(jù)庫連接失??!");//連接數(shù)據(jù)庫服務器$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫2.2更新數(shù)據(jù)mysqli_query($link,"setnamesGB2312");//設置輸出字符編碼$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);//關閉連接2.2更新數(shù)據(jù)?>顯示如圖10-7所示。圖10-7數(shù)據(jù)顯示分析:在上述程序中,以每頁顯示3行記錄的方式進行瀏覽。用戶單擊每一行后的【修改】鏈接時,將跳轉(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ù)庫服務器2.2更新數(shù)據(jù)$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫mysqli_query($link,"setnamesGB2312");//設置輸出字符編碼$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表單上。用戶可以自行修改其中信息,然后提交表單。【實例10-16】根據(jù)用戶提交的表單中的信息進行修改。代碼如下所示。<?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ù)庫服務器3$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫4mysqli_query($link,"setnamesGB2312");//設置輸出字符編碼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);//關閉數(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ù)在實際應用中,常常需要提供刪除功能。通常使用的方式是讓用戶自行選擇要刪除的資料,再給出提示框,讓用戶確認是否真的刪除該信息?!緦嵗?0-17】用戶在選擇要刪除的資料時彈出相應的窗口。代碼如下所示。<scriptlanguage="javascript">functionchk(id){//確認刪除函數(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ù)庫服務器$conn=@mysqli_select_db($link,"mydb")ordie("選擇的數(shù)據(jù)庫不存在或不可用!");//選擇數(shù)據(jù)庫2.3刪除數(shù)據(jù)mysqli_query($link,"setnamesGB2312");//設置輸出字符編碼$myquery=@mysqli_query($link,"select*fromuserinfo")ordie("SQL語句執(zhí)行失敗!");//執(zhí)行SQL語句$page_size=3;//設置每頁顯示記錄數(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);//關閉數(shù)據(jù)庫連接?>2.3刪除數(shù)據(jù)顯示數(shù)據(jù)如圖10-12所示。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論