檢視 PHP入門 的原始碼
←
PHP入門
跳轉到:
導覽
、
搜尋
根據以下的原因,您並無權限去做編輯這個頁面:
您剛才的請求只有這個使用者組的使用者才能使用:
使用者
你可以檢視並複製本頁面的原始碼。
[[分類:振鐸會務]] [http://jendo.org/files/doc/php.html 完整講義] ===基本觀念=== php是伺服器端程式,分成html以及php code兩種段落: html部分就和普通的 html 一樣,php code部分要用 <?php ... ?> 包起來。客戶端對伺服器提出請求的時候,伺服器會把php那部分的code在伺服器端加以執行,執行的產出(也是html片段),混合其他的html部分,整合成一份html,再傳給客戶端。 ====分工==== 一般來說php中html以及php code兩種段落,使用五種語言: *html包含 *#html tag *#CSS *#javascript *php code包含 *#php *#MySQL ====注意==== *個人網站中的 php ,會檢查擁有者是不是正確的個人,是才執行。這一點講師要了解,學員不必了解。 ===範例一=== <pre> html-><Html> css -><link href='pa.txt' rel='stylesheet'/> html-><Body> php -><?php php ->$link=mysql_connect("localhost", "assistant", "20140724"); ^$是變數的前置符號,$link是一個容器 mysql_connect我要連結mySQL資料庫中的函式。提供三個引數 a.localhost表示我這隻提出連接請求的php跟這資料庫是在同一台機器中(有同一台機器、指定機器、任意機器三種設定) b.給帳號,說明自己是誰 c.給密碼,證明自己是那個誰 在php的等號,不是等於的意思,是把右方的數值派入左方(派值) 兩個等號是比較,到底左方跟右方有沒有一樣,若他們資料一樣,資料型別不同沒關係(e.g.字串123與文字123是相同的,123=='123'會傳回真值) 三個等號是比較,到底左方跟右方有沒有完全一樣(e.g.字串123與文字123是不同的,123==='123'會傳回假值) 分號有兩個含意: a.執行 b.本指令結束 php ->mysql_query("set names utf8"); 查詢指令,這行意思是要設定命名空間的編碼是utf8的編碼格式。 上一行本地端應該是連上了伺服器端了,講好要用哪個編碼來溝通。names是「命名空間」「名字空間」。 utf8的設定是在4.2版以前的php前要設定的,因為在4.2版之前各國有不同的文字編碼格式(日文、歐洲語系、拉丁字元、韓文各有不同,直到utf8格式統整) php ->mysql_select_db("assistant"); 選定哪個資料庫底下執行(mySQL很少允許用跨資料庫的執行) php ->$result = mysql_query("SELECT a.id,a.name,a.birthday,b.phone,c.email FROM name a,phone b,email c WHERE a.id=b.id and a.id=c.id order by a.id"); ^^^^^^^把MySQL回傳的二維陣列傳到result這個變數中 此SQL指令是昨天學過的,三張表可以用兩個表連結串起來 MySQL會傳回二維陣列 php ->echo "<table>\n"; 以表格來呈現 \n是line feed(新增一行) \r是carry return(調到行首) \t是tab(定位點) php ->echo "<tr><th>id</th><th>姓名</th><th>生日</th><th>電話</th><th>Email</th></tr>"; 輸出表格的首列 php ->while($row=mysql_fetch_array($result,MYSQL_ASSOC)){ while意思是「如果條件成立,一直做」,只要小括號裡頭的條件成立,大括號的內容就一直做 fetch_array的指令就是把輸出的二維陣列每次都劈下一筆,每次會拿到一筆資料 把這個劈下一筆的資料放進$row的變數中 直到二維陣列所的資料都被你劈完,就會回傳為假,指令執行結束 MySQL_Assoc的意思 我可以用字來稱呼每欄(assoc),但也可以用第0欄第1欄...第4欄的方式稱呼各欄 php -> echo "<tr>"; 每劈下一筆,就傳一個本列開始 php -> foreach($row as $value){echo "<td>".$value."</td>";} row有五個元素,foreach是指陣列中的每個元素做一次 .是字串連接符號,.的左右邊都必須是字串,.把左右邊連成一個更長的字串 php -> echo "</tr>\n"; 接下來送出一個本列結束 php ->} php ->echo "</table>\n"; table結束,換行 php ->?> php結束 html-></Body> html-></Html> </pre> ===php code語法解說=== *php code是由一行一行的指令構成的,每一行的指令都包含三部分: *#資料 *#處理資料的算符 *#分號(;)代表指令結束,意思是執行 *註解則不執行,註解有三種寫法: *#單行註解:「#」「//」 *#多行註解:「/*…*/」 *大括號「{}」是程式區塊,把一群指令包在一起,後面不用加分號 *while(條件){...}這個指令有風險,就是如果沒想清楚,可能會有無窮迴圈。()內是動作的條件,會依序執行直到沒辦法執行了。 *foreach(陣列as元素){...}陣列中每個元素做一遍。 *if(條件){...}elseif(條件){...}else{...}如果男的要冠先生,女的要冠女士,可使用此種迴圈 *for($i=0;$i<5;$i++){...}從某個$i做到某個$i。三條件分別為:從哪個$i開始、做到哪個$i、每次$i要遞增多少(++是+1) *二元算符:$x+=2是$x=$x+2;$x-=2是$x=$x-2;$x/=2是$x=$x/2;$x*=2是$x=$x*2;$x%=2是$x=$x%2;$x.='XXX'是$x=$x.'XXX'<br/>但加減乘除都要在 $x 代表的是數字值時才可以用;.則是文字字串的相連。 ===作業一=== * 將範例一「化零為整」。原來用 echo 的地方改成 $str.= * 童軍歌-猜猜拳 * $str=""; 空字串 * $str=$str."<table>"; * 把str越接越長,最後把str全部串起來, * echo $str;,讓結果呈現的跟示範程式的結果一樣 ===範例二=== *constant.php放常數 *#類別的路徑 *#連到資料庫的帳密 *std.php *#載入常數檔 *#載入類別定義(車輪餅的模子) *#依照類別做物件(倒入麵粉漿) *#設定特定的屬性(放入車輪餅的內餡) *#執行函式,表現出來(做好車輪餅賣掉) ===作業二=== * 改 std.php 中的 SQL 命令,產生自己的 php 。 * 備份自己昨天做的資料表 * 用自己的 php 程式玩自己的資料表 * 使用 editable 屬性。
返回到
PHP入門
。
導航
個人工具
登入
名字空間
頁面
討論
變換
檢視
閱讀
檢視原始碼
檢視歷史
動作
搜尋
導覽
首頁
近期變動
隨機頁面
使用說明
工具箱
連入頁面
相關頁面修訂記錄
特殊頁面
頁面資訊