《PHP網(wǎng)頁(yè)案例任務(wù)教程》課件 5-4 設(shè)計(jì)新增留言、保存與刪除留言動(dòng)態(tài)網(wǎng)頁(yè)_第1頁(yè)
《PHP網(wǎng)頁(yè)案例任務(wù)教程》課件 5-4 設(shè)計(jì)新增留言、保存與刪除留言動(dòng)態(tài)網(wǎng)頁(yè)_第2頁(yè)
《PHP網(wǎng)頁(yè)案例任務(wù)教程》課件 5-4 設(shè)計(jì)新增留言、保存與刪除留言動(dòng)態(tài)網(wǎng)頁(yè)_第3頁(yè)
《PHP網(wǎng)頁(yè)案例任務(wù)教程》課件 5-4 設(shè)計(jì)新增留言、保存與刪除留言動(dòng)態(tài)網(wǎng)頁(yè)_第4頁(yè)
《PHP網(wǎng)頁(yè)案例任務(wù)教程》課件 5-4 設(shè)計(jì)新增留言、保存與刪除留言動(dòng)態(tài)網(wǎng)頁(yè)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

任務(wù)四設(shè)計(jì)新增留言、保存與刪除留言動(dòng)態(tài)網(wǎng)頁(yè)復(fù)習(xí)知識(shí)與技能任務(wù)描述根據(jù)公司決定,為解決上傳信息不完整所導(dǎo)致的問(wèn)題,網(wǎng)絡(luò)信息部門(mén)需要設(shè)計(jì)動(dòng)態(tài)網(wǎng)頁(yè)來(lái)核驗(yàn)每一條記錄,并提供可編輯修改功能。此外,電話、信件等留言方式也需要同步保存到系統(tǒng)中,以便進(jìn)行統(tǒng)一管理。網(wǎng)絡(luò)信息部門(mén)負(fù)責(zé)人指派工程師小明完成這項(xiàng)任務(wù)。工程師小明需要在位于C:\0504的項(xiàng)目建設(shè)路徑中創(chuàng)建名為“l(fā)iuyan”的項(xiàng)目。已完成的模板頁(yè)Site.Master文件位于C:\素材文件夾中。工程師小明需要設(shè)計(jì)名為“050401.php”的動(dòng)態(tài)網(wǎng)頁(yè),用于實(shí)現(xiàn)這一功能。任務(wù)要求:(1)設(shè)計(jì)名為“050401.php”的動(dòng)態(tài)網(wǎng)頁(yè),可以新增留言并保存留言數(shù)據(jù)。(2)設(shè)計(jì)名為“050401del.php”的動(dòng)態(tài)網(wǎng)頁(yè),提供可刪除選擇的某一條留言數(shù)據(jù)的功能,以便完成公司要求的刪除任務(wù)。工程師小明需要將這些要求融入動(dòng)態(tài)網(wǎng)頁(yè)的設(shè)計(jì),確保用戶可以方便地新增、保存留言數(shù)據(jù),也能按任務(wù)要求刪除選擇的某一條留言數(shù)據(jù)。這將提高信息管理功能的完整性,并使公司能夠更有效地管理留言數(shù)據(jù)。完成后,工程師小明應(yīng)將動(dòng)態(tài)網(wǎng)頁(yè)放置在項(xiàng)目路徑下的“l(fā)iuyan”文件夾中,確保功能正常運(yùn)行?!?50401.php”動(dòng)態(tài)網(wǎng)頁(yè)效果如圖5-4-1所示。任務(wù)分析工程師小明在仔細(xì)分析研究了需求情況后,確定通過(guò)Dreamweaver軟件用文件集成系統(tǒng)提供的功能來(lái)完成任務(wù),實(shí)現(xiàn)對(duì)記錄數(shù)據(jù)進(jìn)行刪除的功能,同時(shí)能夠?qū)崿F(xiàn)部門(mén)負(fù)責(zé)人布置的任務(wù)要求。(1)數(shù)據(jù)庫(kù)系統(tǒng)主要技術(shù)參數(shù):連接名稱為“PHPMySQL”,MySQL服務(wù)器IP地址為“”,用戶名為“root”,密碼為“168168”,數(shù)據(jù)庫(kù)名稱為“l(fā)iuyan”。(2)網(wǎng)站系統(tǒng)主要技術(shù)參數(shù):Web站點(diǎn)路徑為C:\phpweb。Web測(cè)試IP地址為。Web測(cè)試端口號(hào)為8899。(3)網(wǎng)頁(yè)文件名為“050401.php”。(4)引入PHPMySQL數(shù)據(jù)庫(kù)連接文件。(5)查詢留言記錄并進(jìn)行分頁(yè)處理,限制每頁(yè)顯示1條記錄。(6)通過(guò)循環(huán)遍歷輸出每條留言記錄,并每條留言數(shù)據(jù)設(shè)計(jì)刪除按鈕。(7)在每條記錄后面添加隱藏的表單字段,用于編輯和刪除操作。(8)設(shè)計(jì)相應(yīng)動(dòng)態(tài)網(wǎng)頁(yè)使其能新增留言并保存留言數(shù)據(jù)。(9)完成設(shè)計(jì)后,進(jìn)行全面測(cè)試、調(diào)試和驗(yàn)收工作,確保頁(yè)面在各種瀏覽器和設(shè)備上的兼容性和正常顯示,記錄主要施工技術(shù)參數(shù)。以上是對(duì)任務(wù)的簡(jiǎn)要分析,工程師小明需要根據(jù)這個(gè)分析,按照要求進(jìn)行網(wǎng)頁(yè)設(shè)計(jì)和編碼,確保留言數(shù)據(jù)的分頁(yè)展示、編輯功能正常運(yùn)行。在設(shè)計(jì)過(guò)程中,應(yīng)注意代碼的可靠性、安全性和可維護(hù)性。完成后,進(jìn)行充分的測(cè)試和調(diào)試,確保功能無(wú)誤。如有問(wèn)題或需要進(jìn)一步指導(dǎo),請(qǐng)及時(shí)與領(lǐng)導(dǎo)溝通并尋求支持。1.準(zhǔn)備工作按照網(wǎng)站規(guī)劃參數(shù)進(jìn)行配置。Web站點(diǎn)路徑:C:\phpweb。Web測(cè)試IP地址:。Web測(cè)試端口號(hào):8899。參照項(xiàng)目一中任務(wù)一、任務(wù)二、任務(wù)三,配置好WAMP環(huán)境,配置好Dreamweaver網(wǎng)站環(huán)境,如果已經(jīng)配置好WAMP環(huán)境和Dreamweaver網(wǎng)站環(huán)境,本步驟可以略過(guò),啟動(dòng)配置WAMP與Dreamweaver創(chuàng)建網(wǎng)站過(guò)程詳見(jiàn)項(xiàng)目一的三個(gè)任務(wù)步驟,在MySQL數(shù)據(jù)庫(kù)服務(wù)器中,準(zhǔn)備好“l(fā)iuyan”數(shù)據(jù)庫(kù)和“l(fā)iuyan”表,準(zhǔn)備好賬號(hào)“root”、密碼“168168”備用。2.創(chuàng)建設(shè)計(jì)“050401.php”動(dòng)態(tài)網(wǎng)頁(yè)(1)鼠標(biāo)單擊“開(kāi)始”→“動(dòng)態(tài)網(wǎng)頁(yè)”、啟動(dòng)Dreamweaver軟件,單擊“文件”菜單,單擊“新建”創(chuàng)建PHP動(dòng)態(tài)網(wǎng)頁(yè)“050401.php”。(2)網(wǎng)頁(yè)屬性中鍵盤(pán)輸入網(wǎng)頁(yè)標(biāo)題“新增留言保存與刪除留言”。(3)在網(wǎng)頁(yè)中從文件夾image選擇插入圖片700.jpg,修改圖片700.jpg默認(rèn)寬度為750,鍵盤(pán)輸入組合鍵“Shift+Enter”換行,插入標(biāo)題2格式<h2></h2>,h2中鍵盤(pán)輸入文字“新增留言保存與刪除留言”,鍵盤(pán)輸入組合鍵“Shift+Enter”換行,再?gòu)奈募Aimage選擇插入圖片602.gif。(4)連接MySQL數(shù)據(jù)庫(kù)“l(fā)iuyan”(詳細(xì)步驟和示意圖見(jiàn)項(xiàng)目五任務(wù)一)。單擊“窗口”菜單,單擊下拉菜單中“數(shù)據(jù)庫(kù)”,單擊“窗口”菜單,單擊下拉菜單中“數(shù)據(jù)庫(kù)”。單擊數(shù)據(jù)庫(kù)面板標(biāo)簽中“+”按鈕,再選擇“MySQL連接”選項(xiàng)彈出“MySQL連接”對(duì)話框,輸入連接名稱、MySQL服務(wù)器、用戶名、密碼,單擊“選取”按鈕,提出選取數(shù)據(jù)庫(kù)對(duì)話框中選擇數(shù)據(jù)庫(kù)“l(fā)iuyan”,單擊“確定”按鈕,返回“MySQL連接”對(duì)話框,這時(shí)已經(jīng)完成參數(shù)填寫(xiě),單擊“測(cè)試”按鈕,彈出對(duì)話框提示“成功創(chuàng)建連接腳本”,單擊“確定”按鈕,再單擊“確定”按鈕,至此完成了創(chuàng)建MySQL數(shù)據(jù)庫(kù)連接的操作。(5)在數(shù)據(jù)庫(kù)面板標(biāo)簽中,能看到剛剛創(chuàng)建的PHPMySQL連接。完成此操作后在網(wǎng)站根目錄下,會(huì)自動(dòng)建立目錄Connections,在該目錄中會(huì)自動(dòng)建立PHPMySQL.php文件,打開(kāi)PHPMySQL.php文件,在源代碼末尾加一句“mysql_set_charset('utf8',$PHPMySQL);”,作用是防止瀏覽器顯示中文時(shí)亂碼,見(jiàn)源代碼第12行,修改后請(qǐng)保存并關(guān)閉。1<?php2\#FileName="Connection\_php\_mysql.htm"(文件名="Connection\_php\_mysql.htm")3\#Type="MYSQL"(類型="MYSQL")4\#HTTP="true"(HTTP="true")5$hostname\_PHPMySQL="";//數(shù)據(jù)庫(kù)服務(wù)器的主機(jī)名或IP地址6$database\_PHPMySQL="liuyan";//要連接的數(shù)據(jù)庫(kù)名稱7$username\_PHPMySQL="root";//數(shù)據(jù)庫(kù)用戶名8$password\_PHPMySQL="168168";//數(shù)據(jù)庫(kù)密碼9//連接到MySQL數(shù)據(jù)庫(kù)服務(wù)器,并選擇指定的數(shù)據(jù)庫(kù)10$PHPMySQL=mysql\_pconnect($hostname\_PHPMySQL,$username\_PHPMySQL,$password\_PHPMySQL)ortrigger\_error(mysql\_error(),E\_USER\_ERROR);11//設(shè)置數(shù)據(jù)庫(kù)連接的字符集為utf8支持簡(jiǎn)體中文12mysql\_set\_charset('utf8',$PHPMySQL);13?>(6)光標(biāo)定位在標(biāo)題“新增留言保存與刪除留言”下方,鼠標(biāo)單擊“窗口”菜單,選擇“插入”選項(xiàng),調(diào)出插入面板,在插入面板中單擊“數(shù)據(jù)”,鼠單擊“插入記錄:插入記錄表單向?qū)А卑粹o邊上小黑三角,在彈出菜單中選擇“插入記錄表單向?qū)А边x項(xiàng),如圖5-4-2所示。(7)彈出“插入記錄表單”對(duì)話框,在對(duì)話框中,連接處選擇“PHPMySQL”,表格處選擇“l(fā)iuyan”,插入后轉(zhuǎn)到處輸入或者瀏覽選擇“050201.php”,表單字段處通過(guò)“+”“-”中的按鈕“-”對(duì)選擇的字段進(jìn)行操作,最終保留“l(fā)y_biaoti”“l(fā)y_neirong”字段,其他保持默認(rèn),鼠標(biāo)單擊“確定”按鈕,如圖5-4-3所示。(8)源代碼中,找到語(yǔ)句“<inputtype="submit"value="插入記錄"/>”,把按鈕提示文字“插入記錄”改為“新增留言保存”,修改表格中“Ly_biaoti”為“標(biāo)題”,修改表格中“Ly_neirong”為“內(nèi)容”,選擇內(nèi)容右邊的控件,修改屬性為“多行”,行數(shù)為6,修改后如圖5-4-4所示。3.“050401.php”動(dòng)態(tài)網(wǎng)頁(yè)源代碼1<?phprequire_once('Connections/PHPMySQL.php');?>2<!--這行代碼用于引入名為PHPMySQL.php的數(shù)據(jù)庫(kù)連接。-->3<?php4//定義函數(shù)GetSQLValueString用于處理數(shù)據(jù)庫(kù)值,防止SQL注入攻擊5if(!function_exists("GetSQLValueString")){6functionGetSQLValueString($theValue,$theType,$theDefinedValue="",$theNotDefinedValue="")7{8//如果PHP版本小于6,則處理魔術(shù)引號(hào)問(wèn)題,去除自動(dòng)添加的轉(zhuǎn)義字符9if(PHP_VERSION<6){10$theValue=get_magic_quotes_gpc()?stripslashes($theValue)$theValue;11}12//根據(jù)PHP版本選擇合適的字符串轉(zhuǎn)義函數(shù)(考慮到過(guò)時(shí)的mysql_escape_string)13$theValue=function_exists("mysql_real_escape_string")?mysql_real_escape_string($theValue)mysql_escape_string($theValue);1415//根據(jù)數(shù)據(jù)類型進(jìn)行處理,如添加引號(hào)或?qū)⒖罩翟O(shè)為NULL16switch($theType){17case"text":18$theValue=($theValue!="")?"'".$theValue."'""NULL";19break;20case"long":21case"int":22$theValue=($theValue!="")?intval($theValue)"NULL";23break;24case"double":25$theValue=($theValue!="")?doubleval($theValue)"NULL";26break;27case"date":28$theValue=($theValue!="")?"'".$theValue."'""NULL";29break;30case"defined":31$theValue=($theValue!="")?$theDefinedValue$theNotDefinedValue;32break;33}34//返回處理后的值35return$theValue;36}37}38//設(shè)定編輯表單的提交目標(biāo)為當(dāng)前PHP頁(yè)面39$editFormAction=$_SERVER['PHP_SELF'];40if(isset($_SERVER['QUERY_STRING'])){41$editFormAction.="?".htmlentities($_SERVER['QUERY_STRING']);42}43//當(dāng)表單提交(新增留言保存)時(shí)執(zhí)行以下代碼44if((isset($_POST["MM_insert"]))&&($_POST["MM_insert"]=="form1")){45//使用sprintf函數(shù)構(gòu)建INSERT語(yǔ)句,通過(guò)GetSQLValueString處理要插入的留言標(biāo)題和內(nèi)容46$insertSQL=sprintf("INSERTINTOliuyan(ly_biaoti,ly_neirong)VALUES(%s,%s)",47GetSQLValueString($_POST['ly_biaoti'],"text"),48GetSQLValueString($_POST['ly_neirong'],"text"));49//選擇數(shù)據(jù)庫(kù)50mysql_select_db($database_PHPMySQL,$PHPMySQL);5152//執(zhí)行INSERT語(yǔ)句,并將結(jié)果存儲(chǔ)在$Result1變量中,如果出錯(cuò)則打印錯(cuò)誤信息53$Result1=mysql_query($insertSQL,$PHPMySQL)ordie(mysql_error());54//設(shè)置新增留言成功后的跳轉(zhuǎn)頁(yè)面55$insertGoTo="050201.php";56if(isset($_SERVER['QUERY_STRING'])){57$insertGoTo.=(strpos($insertGoTo,'?'))?"&""?";58$insertGoTo.=$_SERVER['QUERY_STRING'];59}6061//使用header函數(shù)進(jìn)行頁(yè)面重定向62header(sprintf("Location%s",$insertGoTo));63}64?>65<!DOCTYPEhtml>66<html">67<head>68<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>69<title>新增留言保存與刪除留言</title>70</head>71<body>72<imgsrc="image/700.jpg"width="750"height="232"/><br/>73<h2>新增留言保存與刪除留言</h2>74<!--留言表單-->75<formaction="<?phpecho$editFormAction;?>"method="post"name="form1"id="form1">76<tablealign="center">77<trvalign="baseline">78<tdnowrap="nowrap"align="right">標(biāo)題:</td>79<td><inputtype="text"name="ly_biaoti"value=""size="32"/></td>80</tr>81<trvalign="baseline">82<tdnowrap="nowrap"align="right">內(nèi)容:</td>83<td><textareaname="ly_neirong"cols="32"rows="6"></textarea></td>84</tr>85<trvalign="baseline">86<tdnowrap="nowrap"align="right"> </td>87<td><inputtype="submit"value="新增留言保存"/></td>88</tr>89</table>90<!--用于標(biāo)識(shí)表單提交的字段-->91<inputtype="hidden"name="MM_insert"value="form1"/>92</form>93<p><imgsrc="image/602.gif"width="750"height="80"/></p>94</body>95</html>4.創(chuàng)建“050401del.php”動(dòng)態(tài)網(wǎng)頁(yè)(1)網(wǎng)頁(yè)屬性中鍵盤(pán)輸入網(wǎng)頁(yè)標(biāo)題“新增留言保存與刪除留言”。(2)連接MySQL數(shù)據(jù)庫(kù)“l(fā)iuyan”(詳細(xì)步驟和示意圖見(jiàn)項(xiàng)目五任務(wù)一)。單擊“窗口”菜單,單擊下拉菜單中“數(shù)據(jù)庫(kù)”,單擊“窗口”菜單,單擊下拉菜單中“數(shù)據(jù)庫(kù)”。單擊數(shù)據(jù)庫(kù)面板標(biāo)簽中“+”按鈕,再選擇“MySQL連接”選項(xiàng)彈出“MySQL連接”對(duì)話框,輸入連接名稱、MySQL服務(wù)器、用戶名、密碼,單擊“選取”按鈕,提出選取數(shù)據(jù)庫(kù)對(duì)話框中選擇數(shù)據(jù)庫(kù)“l(fā)iuyan”,單擊“確定”按鈕,返回“MySQL連接”對(duì)話框,這時(shí)已經(jīng)完成參數(shù)填寫(xiě),單擊“測(cè)試”按鈕,彈出對(duì)話框提示“成功創(chuàng)建連接腳本”,單擊“確定”按鈕,再單擊“確定”按鈕,至此完成了創(chuàng)建MySQL數(shù)據(jù)庫(kù)連接的操作。(3)在數(shù)據(jù)庫(kù)面板標(biāo)簽中,能看到剛剛創(chuàng)建的PHPMySQL連接。完成此操作后在網(wǎng)站根目錄下,會(huì)自動(dòng)建立目錄Connections,在該目錄中會(huì)自動(dòng)建立PHPMySQL.php文件,打開(kāi)PHPMySQL.php文件,在源代碼末尾加一句“mysql_set_charset('utf8',$PHPMySQL);”,作用是防止瀏覽器顯示中文時(shí)亂碼,見(jiàn)源代碼第12行,修改后請(qǐng)保存并關(guān)閉。1<?php2\#FileName="Connection\_php\_mysql.htm"(文件名="Connection\_php\_mysql.htm")3\#Type="MYSQL"(類型="MYSQL")4\#HTTP="true"(HTTP="true")5$hostname\_PHPMySQL=""; //數(shù)據(jù)庫(kù)服務(wù)器的主機(jī)名或IP地址6$database\_PHPMySQL="liuyan"; //要連接的數(shù)據(jù)庫(kù)名稱7$username\_PHPMySQL="root"; //數(shù)據(jù)庫(kù)用戶名8$password\_PHPMySQL="168168"; //數(shù)據(jù)庫(kù)密碼9//連接到MySQL數(shù)據(jù)庫(kù)服務(wù)器,并選擇指定的數(shù)據(jù)庫(kù)10$PHPMySQL=mysql\_pconnect($hostname\_PHPMySQL,$username\_PHPMySQL,$password\_PHPMySQL)ortrigger\_error(mysql\_error(),E\_USER\_ERROR);11//設(shè)置數(shù)據(jù)庫(kù)連接的字符集為utf8支持簡(jiǎn)體中文12mysql\_set\_charset('utf8',$PHPMySQL);13?>(4)鼠標(biāo)單擊“窗口”菜單,選擇“插入”選項(xiàng),調(diào)出插入面板,在插入面板中單擊“數(shù)據(jù)”,單擊“刪除記錄”按鈕,彈出“刪除記錄”對(duì)話框,在首先檢查是否定義變量處選擇“URL參數(shù)”,在連接處選擇“PHPMySQL”,在表格處選擇“l(fā)iuyan”,在主鍵列處選擇“l(fā)y_id”,在主鍵值處選擇“URL參數(shù)”,在右側(cè)鍵盤(pán)輸入“l(fā)y_id”,在刪除后轉(zhuǎn)到處鍵盤(pán)輸入或?yàn)g覽選擇“050201.php”,如圖5-4-5所示。5.“050401del.php”動(dòng)態(tài)網(wǎng)頁(yè)源代碼1<?phprequire_once('Connections/PHPMySQL.php');?><!--這行代碼用于引入名為PHPMySQL.php的數(shù)據(jù)庫(kù)連接。-->2<?php3//定義函數(shù)GetSQLValueString用于處理數(shù)據(jù)庫(kù)值,防止SQL注入攻擊4if(!function_exists("GetSQLValueString")){5functionGetSQLValueString($theValue,$theType,$theDefinedValue="",$theNotDefinedValue="")6{7//如果PHP版本小于6,則處理魔術(shù)引號(hào)問(wèn)題,去除自動(dòng)添加的轉(zhuǎn)義字符8if(PHP_VERSION<6){9$theValue=get_magic_quotes_gpc()?stripslashes($theValue)$theValue;10}11//根據(jù)PHP版本選擇合適的字符串轉(zhuǎn)義函數(shù)(考慮到過(guò)時(shí)的mysql_escape_string)12$theValue=function_exists("mysql_real_escape_string")?mysql_real_escape_string($theValue)mysql_escape_string($theValue);13//根據(jù)數(shù)據(jù)類型進(jìn)行處理,如添加引號(hào)或?qū)⒖罩翟O(shè)為NULL14switch($theType){15case"text":16$theValue=($theValue!="")?"'".$theValue."'""NULL";17break;18case"long":19case"int":20$theValue=($theValue!="")?intval($theValue)"NULL";21break;22case"double":23$theValue=($theValue!="")?doubleval($theValue)"NULL";24break;25case"date":26$theValue=($theValue!="")?"'".$theValue."'""NULL";27break;28case"defined":29$theValue=($theValue!="")?$theDefinedValue$theNotDefinedValue;30break;31}32//返回處理后的值33return$theValue;34}35}3637//判斷是否傳入了要?jiǎng)h除的留言id(ly_id),并且確保其不為空38if((isset($_GET['ly_id']))&&($_GET['ly_id']!="")){39//使用sprintf函數(shù)構(gòu)建DELETE語(yǔ)句,通過(guò)GetSQLValueString處理要?jiǎng)h除的留言id40$deleteSQL=sprintf("DELETEFROMliuyanWHEREly_id=%s",GetSQLValueString($_GET['ly_id'],"int"));41//選擇數(shù)據(jù)庫(kù)42mysql_select_db($database_PHPMySQL,$PHPMySQL);43//執(zhí)行DELETE語(yǔ)句,并將結(jié)果存儲(chǔ)在$Result1變量中,如果出錯(cuò)則打印錯(cuò)誤信息44$Result1=mysql_query($deleteSQL,$PHPMySQL)ordie(mysql_error());45//設(shè)置刪除成功后的跳轉(zhuǎn)頁(yè)面46$deleteGoTo="050201.php";47if(isset($_SERVER['QUERY_STRING'])){48$deleteGoTo.=(strpos($deleteGoTo,'?'))?"&""?";49$deleteGoTo.=$_SERVER['QUERY_STRING'];50}51//使用header函數(shù)進(jìn)行頁(yè)面重定向52header(sprintf("Location%s",$deleteGoTo));53}54?>5556<!DOCTYPEhtml>57<html">58<head>59<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>60<title>獲得留言表ly_id刪除得ly_id對(duì)應(yīng)的留言數(shù)據(jù)</title>61</head>62<body>63</body>64</html>6.修改動(dòng)態(tài)網(wǎng)頁(yè)“050201.php”在網(wǎng)頁(yè)表格的第四行第二列,編輯修改右側(cè),鍵盤(pán)輸入中文全角空格,輸入“刪除本條留言數(shù)據(jù)”,為文字“刪除本條留言數(shù)據(jù)”設(shè)置超級(jí)鏈接,參照代碼“<ahref="050401del.php?ly_id=<?phpecho$row_Recordset1['ly_id'];?>">刪除本條留言數(shù)據(jù)</a>”,作用是通過(guò)這個(gè)超級(jí)鏈接把要?jiǎng)h除留言數(shù)據(jù)的ly_id值,傳遞給“050401del.php”網(wǎng)頁(yè)。“050401del.php”動(dòng)態(tài)網(wǎng)頁(yè)修改后界面如圖5-4-6所示。

圖5-4-6“050201.php”動(dòng)態(tài)網(wǎng)頁(yè)修改后界面1.PHPMySQL命令Update在PHP中,使用MySQL數(shù)據(jù)庫(kù)進(jìn)行UPDATE操作是一種修改數(shù)據(jù)庫(kù)中現(xiàn)有數(shù)據(jù)的方式。功能:UPDATE操作用于修改數(shù)據(jù)庫(kù)表中現(xiàn)有記錄的值。格式:UPDATEtable_nameSETcolumn1=value1,column2=value2,...WHEREcondition;。參數(shù):table_name為要更新數(shù)據(jù)的數(shù)據(jù)庫(kù)表名。column1、column2……為要修改的列名。value1、value2……為對(duì)應(yīng)列名要設(shè)置的新值。WHEREcondition是用于指定要更新的記錄的條件。用途:用于在數(shù)據(jù)庫(kù)表中更新現(xiàn)有數(shù)據(jù)??梢酝ㄟ^(guò)設(shè)置新的值來(lái)修改表中的列數(shù)據(jù)。常用于需要修改數(shù)據(jù)的情況,如更新用戶信息、修改文章內(nèi)容、糾正數(shù)據(jù)錯(cuò)誤等。例如“ex5401.php”代碼。連接到數(shù)據(jù)庫(kù)并執(zhí)行UPDATE命令,用于更新數(shù)據(jù)庫(kù)中的記錄數(shù)據(jù),需要注意的是如果表中沒(méi)有指定的記錄用來(lái)UPDATE,需要用insert命令添加記錄數(shù)據(jù)。1<!DOCTYPEhtml>2<html>3<head>4 <metacharset="utf-8">5 <title>執(zhí)行UPDATE命令更新數(shù)據(jù)庫(kù)中的記錄數(shù)據(jù)</title>6</head>7<body>8<?php9//連接到數(shù)據(jù)庫(kù)10$conn=mysqli_connect("","root","168168","liuyan");11//要更新的數(shù)據(jù)12$newxm="XGad23";13$newjb=99;//假設(shè)這里你要更新的是級(jí)別14$id=8;15//構(gòu)建UPDATE查詢16$query="UPDATEguanliyuanSETgly_yonghuming='$newxm',gly_jibie=$newjbWHEREgly_id=$id";17//執(zhí)行查詢18$result=mysqli_query($conn,$query);19if($result){20echo"修改了gly_id編號(hào)為{$id}的記錄,用戶名改為{$newxm}級(jí)別改為為{$newjb},記錄數(shù)據(jù)已更新。";21}else{22echo"更新操作失敗:".mysqli_error($conn);23}24//關(guān)閉數(shù)據(jù)庫(kù)連接25mysqli_close($conn);26?>27</body>28</html>此段代碼主要功能是連接到數(shù)據(jù)庫(kù)并執(zhí)行UPDATE查詢,用于更新數(shù)據(jù)庫(kù)中的記錄。其中,第10行使用mysqli_connect()函數(shù)連接到MySQL數(shù)據(jù)庫(kù)。第12~14行定義要更新的用戶名、級(jí)別和記錄ID。第16行構(gòu)建UPDATE命令語(yǔ)句。第18行使用mysqli_query()函數(shù)執(zhí)行UPDATE命令,將更新語(yǔ)句發(fā)送給數(shù)據(jù)庫(kù)執(zhí)行,將新的用戶名和級(jí)別更新到數(shù)據(jù)庫(kù)中的指定記錄。第19~23行根據(jù)更新操作的結(jié)果,使用條件判斷來(lái)輸出相應(yīng)的成功或失敗消息。最后使用mysqli_close()函數(shù)關(guān)閉數(shù)據(jù)庫(kù)連接,釋放資源。2.PHPMySQL命令DELETE在PHP中,使用MySQL數(shù)據(jù)庫(kù)進(jìn)行DELETE操作是一種從數(shù)據(jù)庫(kù)表中刪除數(shù)據(jù)記錄的方式。功能:DELETE操作用于從數(shù)據(jù)庫(kù)表中刪除現(xiàn)有的記錄。格式:DELETEFROMtable_nameWHEREcondition;。參數(shù):table_name為要?jiǎng)h除數(shù)據(jù)的數(shù)據(jù)庫(kù)表名。WHEREcondition是用于指定要?jiǎng)h除的記錄的條件。用途:用于從數(shù)據(jù)庫(kù)中永久刪除數(shù)據(jù)。例如,可以使用DELETE操作來(lái)刪除用戶、文章、評(píng)論等數(shù)據(jù)記錄,通常在需要清理或刪除數(shù)據(jù)的業(yè)務(wù)邏輯中使用。例如“ex5402.php”代碼。連接到數(shù)據(jù)庫(kù)liuyan并執(zhí)行DELETE命令以刪除表guanliyuan中指定記錄,需要注意的是如果表中沒(méi)有指定的記錄,需要用insert命令添加記錄數(shù)據(jù)。1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8">5<title>執(zhí)行DELETE命令刪除數(shù)據(jù)庫(kù)中的記錄數(shù)據(jù)</title>6</head>7<body>8<?php9//連接到數(shù)據(jù)庫(kù)10$conn=mysqli_connect("","root","168168","liuyan");11//要?jiǎng)h除的記錄的ID12$id=8;13//構(gòu)建DELETE查詢14$query="DELETEFROMguanliyuanWHEREgly_id=$id";15//執(zhí)行查詢16$result=mysqli_query($conn,$query);17if($result){18echo"刪除了gly_id編號(hào)為{$id}的記錄,記錄數(shù)據(jù)刪除成功。";19}else{20echo"刪除操作失?。?.mysqli_error($conn);21}22//關(guān)閉數(shù)據(jù)庫(kù)連接23mysqli_close($conn);24?>25</body>26</html>此段代碼用于連接到數(shù)據(jù)庫(kù)并執(zhí)行DELETE命令以刪除數(shù)據(jù)庫(kù)中特定記錄。代碼通過(guò)MysQLI擴(kuò)展與數(shù)據(jù)庫(kù)交互,首先第10行連接到數(shù)據(jù)庫(kù),然后第12行聲明變量$id用于存儲(chǔ)要?jiǎng)h除的記錄的ID,第14行構(gòu)建DELETE命令用于從名為“guanliyuan”的表中刪除gly_id等于$id的記錄,第16行使用mysqli_query~函數(shù)執(zhí)行第14行構(gòu)建的DELETE命令語(yǔ)句,第17~21行根據(jù)查詢結(jié)果輸出成功或失敗的消息,最后第23行關(guān)閉數(shù)據(jù)庫(kù)連接釋放資源。整體功能是刪除數(shù)據(jù)庫(kù)中指定ID=8的記錄。3.PHP與ODBCODBC(OpenDatabaseConnectivity)是數(shù)據(jù)庫(kù)連接標(biāo)準(zhǔn),旨在為應(yīng)用程序和數(shù)據(jù)庫(kù)提供統(tǒng)一的接口,實(shí)現(xiàn)不同數(shù)據(jù)庫(kù)系統(tǒng)之間的無(wú)縫互操作性。ODBC的核心思想是通過(guò)提供通用的、標(biāo)準(zhǔn)化的方法,使開(kāi)發(fā)人員能夠在不同數(shù)據(jù)庫(kù)系統(tǒng)之間共享代碼、查詢和操作數(shù)據(jù),而無(wú)須關(guān)心底層數(shù)據(jù)庫(kù)的具體實(shí)現(xiàn)細(xì)節(jié)。這為數(shù)據(jù)庫(kù)操作提供了更大的靈活性和可移植性。ODBC實(shí)現(xiàn)了數(shù)據(jù)庫(kù)獨(dú)立性,允許開(kāi)發(fā)人員在不同的數(shù)據(jù)庫(kù)系統(tǒng)之間進(jìn)行平滑遷移,而無(wú)須重寫(xiě)大部分代碼。它利用驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)這種功能。每個(gè)數(shù)據(jù)庫(kù)系統(tǒng)都有專門(mén)的ODBC驅(qū)動(dòng)程序,這些驅(qū)動(dòng)程序充當(dāng)著數(shù)據(jù)庫(kù)與應(yīng)用程序之間的翻譯器,將應(yīng)用程序的請(qǐng)求轉(zhuǎn)換為適用于特定數(shù)據(jù)庫(kù)的格式。在PHP中,ODBC提供了擴(kuò)展,使開(kāi)發(fā)人員能夠通過(guò)ODBC標(biāo)準(zhǔn)與多種數(shù)據(jù)庫(kù)進(jìn)行交互。這意味著,無(wú)論是MicrosoftSQLServer、Oracle、MySQL還是其他類型的數(shù)據(jù)庫(kù),開(kāi)發(fā)人員都可以使用相同的函數(shù)來(lái)連接、查詢和操作數(shù)據(jù),從而降低了學(xué)習(xí)和管理不同數(shù)據(jù)庫(kù)系統(tǒng)的難度。使用ODBC可以帶來(lái)多種好處。首先,減少了開(kāi)發(fā)和維護(hù)不同數(shù)據(jù)庫(kù)系統(tǒng)所需的工作量。其次,提高了應(yīng)用程序的可擴(kuò)展性,因?yàn)楦鼡Q數(shù)據(jù)庫(kù)系統(tǒng)時(shí),只需要調(diào)整驅(qū)動(dòng)程序而不是整個(gè)程序代碼。ODBC還促進(jìn)了數(shù)據(jù)的安全性和一致性,因?yàn)镺DBC實(shí)現(xiàn)了數(shù)據(jù)訪問(wèn)和操作的標(biāo)準(zhǔn)統(tǒng)一方案??傊?,ODBC在數(shù)據(jù)庫(kù)連接和操作領(lǐng)域起著重要作用。它為開(kāi)發(fā)人員提供了一種通用的、跨數(shù)據(jù)庫(kù)的方法,使得開(kāi)發(fā)人員能夠更輕松地處理多種數(shù)據(jù)庫(kù)系統(tǒng),實(shí)現(xiàn)了數(shù)據(jù)庫(kù)獨(dú)立性和應(yīng)用程序的可移植性。通過(guò)標(biāo)準(zhǔn)化數(shù)據(jù)庫(kù)連接,ODBC構(gòu)建了橋梁,將不同數(shù)據(jù)庫(kù)之間的差異抽象化,為跨平臺(tái)的數(shù)據(jù)庫(kù)交互帶來(lái)了方便和效率。在Windows中安裝MySQLODBC驅(qū)動(dòng)程序,如圖5-4-7所示。以下是一般的安裝步驟:(1)下載MySQLODBC驅(qū)動(dòng)程序。MySQL官方網(wǎng)站下載速度慢易斷線,請(qǐng)?jiān)L問(wèn)出版社配套素材網(wǎng)站地址/來(lái)下載,建議下載32位的驅(qū)動(dòng)程序,選擇對(duì)應(yīng)的安裝文件,通常選擇msi格式。這里下載了mysql-connector-odbc-8.0.33-win32.msi安裝文件,如圖5-4-8所示。(2)運(yùn)行mysql-connector-odbc-8.0.33-win32.msi安裝程序,雙擊下載的.msi安裝文件,運(yùn)行安裝程序。(3)安裝完成后,下一步工作就是創(chuàng)建ODBC數(shù)據(jù)源。(4)先打開(kāi)Windows的控制面板,搜索框中鍵盤(pán)輸入ODBC,鼠標(biāo)單擊“設(shè)置ODBC數(shù)據(jù)源(32位)”,彈出“ODBC數(shù)據(jù)源管理程序(32位)”對(duì)話框,單擊“系統(tǒng)DNS”選項(xiàng)卡,單擊“添加”按鈕,如圖5-4-9所示。(5)鼠標(biāo)單擊“添加”按鈕后,彈出對(duì)話框“創(chuàng)建新數(shù)據(jù)源”,滾動(dòng)滑塊到最下方,單擊選擇驅(qū)動(dòng)程序“MySQLODBC8.0UnicodeDriver”,單擊下方“完成”按鈕。(6)彈出“MySQLConnector/ODBCDataSourceConfiguration”對(duì)話框,用于配置ODBC等參數(shù)信息。在DataSourceName處輸入自定義的DNS信息,這里自定義為“mydsn”。Description為描述數(shù)據(jù)源信息,可以略過(guò)。TCP/IPServer處鍵盤(pán)輸入服務(wù)器的IP地址“”,Port端口默認(rèn)為“3306”,User處鍵盤(pán)輸入MySQL的用戶名“root”,Password處鍵盤(pán)輸入MySQL的密碼“168168”,Database處選擇數(shù)據(jù)庫(kù)“l(fā)iuyan”。鼠標(biāo)單擊“Test”按鈕,如果這時(shí)信息正確無(wú)誤,會(huì)彈出對(duì)話框顯示“Connectionsuccessful”表示連接成功。至此完成了“系統(tǒng)DSN”配置,確認(rèn)配置了一些連接參數(shù),如主機(jī)名、用戶名、密碼、數(shù)據(jù)庫(kù)名稱等。(7)“系統(tǒng)DSN”配置完成后,在PHP代碼中,使用odbc_connect()函數(shù)來(lái)連接MySQL數(shù)據(jù)庫(kù)。連接字符串是所創(chuàng)建的DSN的名稱“mydsn”,類似于DSN_NAME。確保連接字符串的格式正確,如:$conn=odbc_connect(''mydns'','''','''');,見(jiàn)下面源代碼第9行。(8)運(yùn)行代碼確保數(shù)據(jù)庫(kù)連接字符串、DSN和數(shù)據(jù)庫(kù)設(shè)置正確,運(yùn)行PHP代碼。通過(guò)MySQLODBC驅(qū)動(dòng)程序,可以在Windows中使用ODBC標(biāo)準(zhǔn)來(lái)連

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論