畢業設計 之 二 PHP學習筆記(一)
做者:20135216
平臺:windows10
軟件:XAMPP,DreamWeaver
1、環境搭建
1.XAMPP下載安裝
XAMPP是PHP、MySQL及Apache的集成開發平臺。php
- 在官網下載XAMPP。按照提示進行安裝。關於安裝組件,選擇以下:
- 啓動服務。這裏遇到了問題,就是Apache服務啓動後會遇到錯誤而中止
- 查找了一下緣由,系統提示有其餘blocks佔用了端口。經典表明:迅雷。我打開目錄C:\xampp\apache\conf(個人安裝目錄爲C:\xampp)下的httpd.conf文件,將Listen 80和 ServerName localhost:80中的80改成8081(0-1023端口是系統保留端口,儘可能不要使用)
- 再次開啓Apache服務,完美
- 瀏覽器裏輸入localhost:8081,訪問XAMPP
2.DreamWeaver下載操做
- DreamWeaver是編輯、開發網站的平臺。在軟件下載平臺下載了破解版進行安裝。
- 把沒必要要的安裝組件都刪去了
- 操做流程:
- 在C:\xampp\htdocs目錄下新建php文件夾。而後打開Dreamweaver,「站點」-「管理站點」-「新建」命令,設置站點名稱和路徑
- 單擊「服務器」選項,添加服務器
- 保存後,勾選「測試」一欄,而後肯定
- 注意事項
- 關於命名:對整個工程創建文件夾,其下的自工程或者子模塊對應相應的子文件夾,命名時必定用英文、簡潔突出。同時,本地站點中規劃設計的網站文件結構要同上傳到Internet服務器中被人瀏覽的網站文件結構相同
- 關於邏輯架構:每一個網頁創建首頁連接;創建網站導航,突出當前頁位置;增長搜索和索引功能;必要的信息反饋功能
- XAMPP與DreamWeaver的區別?
- 其實,在我理解中,兩者是鉛筆與直尺的關係。前者是用來編寫網站文件的工具,後者是對編寫好的網站文件進行邏輯構建和總體編輯的部署性軟件;即先XAMPP,再DreamWeaver
2、基本語法
1.PHP語法
- 基本函數
- string trim(string str) ; 返回值:字符串 ; 做用:清楚字符串首尾的空白字符
- strtoupper() ; 做用:字符串轉換成大寫字母
- ucfirst() ; 做用:將字符串的第一個字母轉換成大寫
- ucwords() ; 做用:將每一個單詞的第一個字母變大寫
- addslashes() ; 做用:在特殊字符(、'、")前加
- stripslashes() ; 做用:與上相反
- 變量與常量
- 能夠用''或者「」標識string變量,兩者的區別在於:
- ''中的變量不會被解析,若是字符串中還含有',則須要再前面加上\進行轉義
- 「」中的變量能夠被解析,而且能夠識別更多的轉義字符
- 雜項
- define([常量名],[常量值]):將常量值賦給常量
- PHP中變量不能數字開頭,不然視爲無效
- 關於變量的引用賦值
- intval():將數據強制轉換爲整型
- 變量被認爲是空值的三種狀況
- 變量沒有被賦值
- 變量被賦值爲NULL,0,FALSE或者字符串
- 變量在非空值的狀況下,被unset()釋放
- settype(mixed var,string type)函數,能夠強制修改變量類型
- 鏈接運算符(.):將返回將其左右參數鏈接以後的字符串
- 鏈接賦值運算符(.=):將右邊參數附加到左邊參數後面
- 邏輯運算符xor:經常使用來測試真假,即左右兩個表達式中任一爲true,但不一樣時是
- 數組運算符:
- $a == $b , 表示若是數組a和b具備相同元素,則返回true
- $a === $b , 表示若是數組a和b具備相同元素且順序相同,則返回true
- $a<>$b , 表示若是a不等於b,就返回true
- 函數傳參問題:
2.MySQL基本語法
鏈接函數web
$conn = mysql_connect(servername,username,password);//返回供使用的鏈接
- CREATE建立函數
順序:連接庫-->建立庫-->選擇庫-->創建數據表sql
<?php
$conn = mysql_connect("localhost","root","admin");
if(!$conn)
{
die('不能鏈接庫'.mysql_error());
}
if(mysql_query("CREATE DATABASE my_db",$conn))
{
echo "Database created";
}
else
echo"error creating database:".mysql_error();
mysql_select_db("my_db",$conn);//選擇新創建的數據庫
$sql = "CREATE TABLE Persons(Firstname varchar(15),Lastname varchar(15),Age int)";//varchar類型數據庫字段必須指定字段最大長度
mysql_query($sql,$conn);
mysql_close($conn);
?>
- 主鍵字段
- 主鍵用於惟一地標識一行,因此其在表中必須惟一
舉例數據庫
$sql = "CREATE TABLE Persons
(
personID int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(personID),
Firstname varchar(15),
Lastname varchar(15),
Age int)";
插入數據apache
mysql_query("INSERT INTO Persons(Firstname,Lastname,Age) VALUES('chen','yicai','37')");
- 讀取數據
- mysql_fetch_array();第一次返回的是以數組形式存放的、記錄集的第1行;之後每次調用都返回下一行
- 排序數據
- ORDER BY [VALUE]:默認按照升序排序
- ORDER BY [VALUE] DESC:按照降序排序
更新數據windows
mysql_query("UPDATE Persons SET Age = '39' WHERE Firstname = 'chen' AND Lastname = 'yicai'");
3、Dreamweaver+PHP開發基礎
1.建立數據庫
- 進入XAMPP歡迎頁面以後,點擊右上角的phpmyadmin,進入數據庫管理界面。新建數據庫,選擇編碼方式爲 utf8 general ci(對大小寫不敏感)
- 選中新建的數據庫,在其中建表(字段數爲4個,即下面的ID,name,age,result)
- 建立字段
- 我嘗試着在其中插入了四條數據
2.設置數據庫鏈接
按照以前的操做,在Dreamweaver中新建一個站點phpweb,站點文件夾設置爲xampp\htdocs文件夾下的同名文件夾數組
- 在站點中新建index.php,標題爲「PHP動態系統」。隨便輸入一些內容。
- 選擇窗口-數據庫選項,右側出現數據庫窗口,單擊上圖中標爲黃色的+,選擇「MySQL鏈接」。名稱能夠隨意,MySQL服務器指定爲localhost,用戶名和密碼是當時安裝XAMPP的時候默認的用戶名和密碼。數據庫選擇剛剛建立的phpweb數據庫
- 單擊「測試」按鈕。會彈出對話框提示「鏈接成功」。在數據庫欄裏會出現以前設置的phpweb數據庫
- 打開webconn文件夾下面的webconn.php,能夠看到鏈接代碼
3.檢查數據庫記錄
- 何謂「記錄集」?
- 同一個數據庫只須要監理一次MySQL鏈接,然而能夠爲一個MySQL數據庫創建多個「記錄集」,每一個記錄集記錄的都是按照某個特定規則從數據庫中篩選出來的特定記錄。
這裏,我剛開始的時候是沒辦法點擊「綁定」選項的+進行新建的;後來我從新確認了一遍測試服務器,就能夠了瀏覽器
- 在彈出的對話框中命名鏈接名稱
- 點擊右側「測試」按鈕,能夠顯示全部數據(由於尚未進行篩選)
- 創建記錄集以後,操做記錄集與直接寫SELECT語句是相同的。此時的index.php文件已經被更改。代碼以下:
-
- 上面這張圖的代碼須要琢磨一下。首先是第34行,選擇數據庫(以前已經鏈接了),database_webconn被定義在webconn.php文件中
- 而後查詢數據庫中全部字段(這個操做放在query_Rsdb變量中),用mysql_query()函數,返回的結果Rsdb是資源標識符,並不能直接輸出
- 第37行將結果一關係型數組的形式傳給變量row_Rsdb;這樣就可使用$row_記錄集名稱['字段名稱']來取得記錄集字段值
- 第38行是取得查詢結果的記錄條數,返回給$totalRows_Rsdb
- 最後mysql_free_result釋放查詢結果與佔用的內存資源
4.顯示記錄
- 在以前的index.php中選擇「插入」--「表格」,而後插入一個2*4的表格
- 在「設計」視圖下,找到右側的「綁定」選項卡,拖動須要的字段到表格中。這裏要注意,須要去掉選中的「實時視圖」功能才能夠(不然沒法在「設計」視圖中更改表格內容)
若是要查看錶中全部的記錄,方法以下:選中須要重複的區域(對我建的這張表格來講,就是第二行須要重複),而後選中右側「服務器行爲」的「重複區域」功能
- 我在彈出的窗口中選擇顯示所有內容,因此最後出來的就是記錄集內的全部數據
雙擊服務器行爲,能夠更改對應設置
- 切換到「代碼」頁面,能夠看到對應的do-while循環
5.顯示記錄計數
在頁面上輸入「共* 筆記錄,目前查看的是第 * 筆——第 * 筆」
- 插入點放在*處,在右側「服務器行爲」-「顯示記錄計數」中依次選擇「顯示記錄總數」、「顯示起始記錄編號」、「顯示結束記錄編號」
再點「實時視圖」確認就能夠
6.顯示詳細信息
( 其實就是在網頁中插入超連接)首先須要新建.php文件,好比detail.php;而後在原來的文件中選中要插入的地方。直接在頁面下方的屬性選項卡中找到超連接的位置
- 這裏還要有一個URL值傳遞的過程。URL參數是隨着超連接一塊兒傳給detail.php的,用於使得後者在創建記錄集的時候篩選所指定的新聞記錄,並將新聞的詳細記錄顯示在網頁上
- 點擊「實時視圖」確認以後,效果以下(在windows10自帶的瀏覽器裏的效果)
- 對detail.php進行編輯。打開「服務器行爲」,選擇+中的「記錄集(查詢)」,設置以下。本質上是對URL傳遞的參數進行處理。以後打開瀏覽器訪問該頁面
- 而後設置以下:
- 訪問該頁面,是下圖所示的狀態。若是在URL以後加上?ID=N(N取1--4之間的整數均可以),則會顯示該條記錄的具體信息(關於「增長/刪除」功能在下面的步驟中會進行)
7.新增記錄
- 建立空白php頁面,命名爲add.php。先添加一個表單,再插入表格。對應位置插入文本域
2.建立兩個單選按鈕(在「插入」--「表單」--「單選按鈕」下),標籤分別爲「提交」和「重置」。兩者的屬性分別爲「提交表單」和「重設表單」;Dreamweaver中的新增、更新記錄都是將表單元素的值以POST方式傳遞給頁面,當程序判斷到指定字段送出了POST信息,便執行新增、更新記錄等部分的程序
-
- 效果以下
將文本域的名稱依次改成name,age,Result;也就是說,要與記錄集字段一一對應。當表單元素的命名與記錄集字段相符合的時候,在作「」新增記錄「更新記錄」的時候,Dreamweaver會自動將表單元素與記錄集字段相匹配
- 在對應位置作以下操做:
- 以前將表單元素命名與數據庫字段名稱相同設置,因此在創建「插入記錄」的時候,Dreamweaver會自動將他們配對。
- error!出錯了!當我輸入了姓名、年齡與成績以後,並不會跳轉到index.php;查詢數據庫中也沒有新增記錄。what happened?
- 我仔細研究了一下書籍記錄,發現是由於我把插入的三個文本域錯誤的理解爲了三個form(表單),致使的就是像上圖同樣,一個網頁有三個form,當點擊提交的時候,只有最後一個(Result)被提交了,這固然是不完整的,也就沒法修改數據庫
- 從新來一次。先創建form,而後在表單域中創建4*2表格,插入三個文本域,命名爲name,age,Result。點擊「服務器行爲」-「+」-「插入記錄」,將form中的值傳遞給index.php,點擊肯定以後表格會變成淺綠色
- 效果以下(能夠再按住Fn的狀況下按F12直接跳轉到瀏覽器)
8.更新記錄
回到以前的detail.php頁面,選中「更新」建立URL鏈接,參數設置以下,跳轉到update.php
- 建立update.php,設置以下。注意要把每一個文本域設置爲對應的名稱(ID,name,age,Result)
- 在「服務器行爲」中,單擊「記錄集(查詢)」命令,進行以下設置
- 在「綁定」中拖動到表中的對應字段
- 設置ID所在的文本域爲「只讀」
打開「服務器行爲」的「更新記錄」,設置參數,仍是轉到「index.php",單擊肯定
- 效果以下
參考
- 書籍
- 《PHP+MySQL+DreamWeaver 動態網站開發從入門到精通(第2版)》 陳益材等編著
- 網絡