1Chapter7PHP李嘉銘2Outline利用PHP與MySQL建立一個旅遊美食應用利用工具建立資料表與輸入資料列出美食資料:readfood.php新增美食資料:insertfood.php刪除美食資料:delfood.php查詢美食資料:queryfood.php編輯美食資料:editfood.php其他討論留言使用者管理上傳與插入圖片3旅遊小吃資料庫~chip/lectures/web.2004/php/main.htm45旅遊美食資料庫程式開發過程蒐集小吃資料food_data.txt決定資料結構與類型food.sql規劃網站架構列出、新增、刪除、查詢、編輯美食資料其他功能…6旅遊美食資料庫程式開發過程開發環境選擇選定使用語言PHP,ASP,JSP…測試相關環境運作WebServer+PHP+MySQLphpMyAdminTomcat+JSP+MySQLjspMyAdmin7旅遊美食資料庫程式開發過程實際程式開發網頁畫面繪製DreamweaverSQL語法測試圖形介面或文字介面8建立資料庫與資料表建立資料庫(利用圖形介面或文字介面)Travel資料庫Food資料表9先輸入一些樣本資料10開發基本元件基本資料庫操作列出美食資料:readfood.php新增美食資料:insertfood.php刪除美食資料:delfood.php查詢美食資料:queryfood.php編輯美食資料:editfood.php11列出資料(readfood.php)//連接資料庫$db=mysql_connect(localhost,mtUser,pass);//選擇使用的資料庫mysql_select_db(Travel,$db);//執行SQL查詢$sql=SELECT*FROMFood;$result=mysql_query($sql,$db);12列出資料(readfood.php)//判斷其中是否有資料if($myrow=mysql_fetch_array($result)){echotableborder=1\n;echotrtd店名/tdtd住址/tdtd特色/td/tr\n;//一行行拿出來印成表格do{printf(trtd%s/tdtd%s/tdtd%s/td/tr\n,$myrow[0],$myrow[1],$myrow[2]);}while($myrow=mysql_fetch_row($result));echo/table\n;}else{echo沒有資料!;}echobrahref=\main.htm\回首頁/a;//結束資料庫連線mysql_close($db);13列出資料(readfood.php)說明mysql_fetch_array()isanextendedversionofmysql_fetch_row().Inadditiontostoringthedatainthenumericindicesoftheresultarray,italsostoresthedatainassociativeindices,usingthefieldnamesaskeys.14mysql_fetch_array()$myrow=mysql_fetch_array($result)$myrow[0]孫家小館$myrow[‘name’]孫家小館$myrow[1]青年一路1-9號$myrow[‘address’]青年一路1-9號15新增美食資料(insertfood.php)//判斷是否有submit資料if($_POST[submit]){//post上來的資料$name=$_POST[name];$address=$_POST[address];$special=$_POST[special];$db=mysql_connect(localhost,mtUser,password);mysql_select_db(Travel,$db);//新增資料到資料庫$sql=INSERTINTOFood(name,address,special)VALUES('$name','$address','$special');$result=mysql_query($sql,$db);16刪除美食資料(delfood.php)//由使用者輸入得知要刪除的店名$name=$_POST[name];$db=mysql_connect(localhost,mtUser,password);mysql_select_db(Travel,$db);//執行SQL刪除命令$sql=DELETEFROMFoodWHEREname='$name';$result=mysql_query($sql,$db);17查詢美食資料(queryfood.php)//使用者輸入的關鍵字$name=$_POST[name];…//判斷關鍵字有無出現if(strstr($myrow[0],$name)||strstr($myrow[1],$name)||strstr($myrow[2],$name)){printf(trtd%s/tdtd%s/tdtd%s/td/tr\n,$myrow[0],$myrow[1],$myrow[2]);}18編輯美食資料(editfood.php)//判斷要執行的動作$submit=$_POST[submit];if($submit==edit){//編輯中…}elseif($submit==update){//更新中…else{//印出所有資料讓使用者選…}19編輯美食資料(editfood.php)不同的submit按鈕echoinputtype=\Submit\name=\submit\value=\edit\;更新的SQL命令$sql=UPDATEFoodSETname='$name',address='$address',special='$special'WHEREname='$name';20進階功能其他功能討論留言使用者管理上傳與插入圖片…21ConclusionsNone22ExerciseNone23ReferenceProgrammingPHP