標籤:mysql php
這一章節我們來看使用者輸入網頁後的主介面。
一般來說,預設首頁都是index點xxx,比如 index.php, index.html , index.jsp等等。我們來看一下我們的index.php吧
index.php
提醒:
在<?php?>的兩端,不要出現任何空格或者其他字元,也就是不要在<?php 的前面加上空格這樣的字元,然後?>後面也不要出現其餘的字元,不然的話可能會出現這樣的提示:
我之前出現過這樣的情況,google了之後是說headers 必須放在最開始的時候執行,不能先有輸出然後再header。
再次強調一遍,stackoverflow真的是太強大了,基本上所有的問題都能在上面找到答案。
接下來,我們看兩個 include_once()相當於import進來的檔案,在整個index.php中我們移動include了3個檔案,分別是db_fns.php, header.php 和footer.php。
我們分別來看吧
db_fns.php
這個階段我們只需要用到這個db_connect()函數就好了,不要忘記在結尾加上?>
這個函數是用來串連資料庫的,mysql_connect()函數裡面的3個參數,分別是資料庫的地址、資料庫的使用者名稱稱、該使用者的密碼。
友情提醒下,上一篇blog裡面可以下載到原始碼,那裡面的密碼我是改成了‘password’的,真實的密碼不一樣哦。
然後用mysql_select_db()函數來選擇我們的資料庫。
這樣就可以串連到我們之前建好的資料庫了。
header.php 和footer.php其實就相當於獨立出來的架構,在不同的頁面裡面,我們只需要修改裡面的內容,而外圍的這個架構是不變的,所以單獨把它們摘出來。
header.php
可以看到,header.php 裡面其實沒有php的代碼,都是純的HTML的代碼,這裡就不多做講解了,都很簡單的標籤、連結地址、CSS等等
footer.php
footer也一樣,都是純的HTML標籤。這兩部分結合起來看,就是一個完整的架構,然後我們需要做的,就是修改中間的部分,讓它們在不同的頁面展示不同的內容。
讓我們把注意力集中在index.php中間的php代碼塊部分。我們慢點來,剛開始總會有點困難:
我再帖一遍代碼:
代碼的第12行,我們寫了我們工程中的第一個sql語句,我們從page表中把所有的內容篩選出來,如果在資料庫裡面是這樣的:
我們看到page表裡面存了所有文章的類型,用code來表示;每種類型的描述也都相應地儲存了下來。
然後我們通過mysql_query函數把select的結果儲存到一個變數pages_result裡面:
$pages_result = mysql_query($pages_sql);
然後,看代碼的第17行,在
while語句中,我們用到了一個函數
mysql_fetch_assoc來把搜尋出來的結果存到一個字典裡面。
如果你google一下這個函數,會發現在mysql的函數中,一共有3個:
mysql_fetch_row , mysql_fetch_array 和mysql_fetch_assoc
row的話只能用下標0,1,2來選取不同列的內容,而assoc可以通過資料庫的列名來選取,array即可以用數字,也可以用key來找。
所以在第一次執行while語句是 變數pages裡面其實是一個key和value的鍵值對,key是code和description ,value分別是 news 和 ‘The top news stories from around the world‘;
所以,我們就能理解18,19行的select語句是如何組成了的吧?不懂的可以留言,大家一起學習!
通過while語句迴圈,我們依次得到3個select語句,從stories表裡面選取出按照page做分類的所有stories
這樣,我們以此顯示出不同page的第一個story(因為是if 不是while,僅顯示第一個story的相關內容);
然後我們通過resize_image.php顯示出來對應的圖片,這個我們放到下個章節來介紹,包括資料庫裡面的一些小tips和header裡面的幾個連結,我們都放到以後介紹。
這樣代碼寫下來,在瀏覽器裡面輸入我們的網址,就能顯示出來相應的內容了。當然,如果你點擊上面的連結是會提示錯誤的,我們慢慢來完善吧。
一步一步教你用PHP+MySql搭建網站 No.1 首頁&資料庫連接