一步一步教你用PHP+MySql搭建網站 No.2 圖片顯示和Page頁面

來源:互聯網
上載者:User

標籤:mysql   php   

接著上一章節的看,我們現在的程式有了第一個首頁面,但是我們會發現幾個問題,一個是首頁上的圖片沒法顯示,二是點擊read more ... 之後的連結沒有內容

這兩個頁面的入口分別是裡面的兩個框出來的內容。

我們先來看圖片顯示的頁面;

Resize_image.php

我們注意到其實這個連結的完整URL是: resize_image.php?image=...&max_width=...&max_height=...;

也就是說這個連結有3個參數: image是圖片的名稱,max_width和height分別對應圖片的寬和高。

那麼我們在這個頁面我們該如何處理呢?


這是resize_image.php的完整代碼,將原始的圖片大小根據我們頁面輸入的width和height來進行壓縮或者放大,然後重建一張新的圖片,用於顯示在頁面上。


接下來我們來看page.php頁面


page.php


因為點擊page頁面其實相當於開啟了3個不同類型的blog內容的詳細頁面,所以我們肯定是需要到資料庫裡面進行select操作的。

上一篇blog裡面有講解過,我們只需要改變中間的顯示內容,所以在第10行和第47行,我們分別引入了header.php和footer.php ,中間的內容我們通過資料庫查詢以後再顯示出來。

我們展示page頁面的時候,可能有時候是使用者點擊了某一條story,這時候參數裡面會有story,傳入的是故事的id;或者可能是某一類的只有page欄位,所以根據參數中有沒有story,我們來決定我們的select該怎麼寫。

但是無論如何,我們最後得到的都是這樣的表結構:


我們再來回顧下stories表的建立過程:


注意看到id欄位不僅僅是primary key,而且它還是auto_increment屬性,在MySQL裡面,auto_increment就是自增欄位,每次插入資料時,會自動查詢當前序列的最大值,然後加1,



大家看我的stories表中存的所有內容,1-7都是我們通過教材手動insert進去的,然後會發現接下來就是11了,而並沒有8,9 和10 ,是因為我在開發過程中進行了插入和刪除操作,我把id為8,9,10的記錄刪除了,所以在表中沒有顯示,但是即便這時候你的表裡面最大的id是7,他的記錄也會插進去11,也就是說 這個自增的序列是獨立於當前的表的,和oracle的自增序列一樣,但是我不太清楚mysql裡面的自增序列和oracle有哪些區別。

Oracle中的自增序列的建立方法是:

CREATE SEQUENCE "SEQ_ID" MINVALUE 1 MAXVALUE 999999999999 INCREMENT BY 1 START WITH 1 CACHE 10 NOORDER NOCYCLE;

然後使用的時候就直接insert .... values(seq_id.nextval)就相當與插入了下一個自增序列的下一個值,所以在oracle裡面可以有好幾個自增序列,但是不太清楚MySQL裡面自增序列這塊是怎樣的,目測是只有一個公用的自增序列。


好了我們迴歸正題,在while迴圈體內,我們能看到每個故事是由4部分組成的,

27行:

顯示每篇story的headline,

29-35行:

根據儲存的picture名稱來顯示出圖片,使用的方法仍然是我們上面提到的resize_image.php

36-41行:

這裡我們需要用到db_fns.php中的新的函數:

把下面的函數添加進 db_fns.php中,這個函數很簡單,就是把當前sotry的writer資訊找到。


然後顯示文章修改的時間:

這裡在資料庫裡面儲存的是10位的時間戳記形式的,顯示的時候 根據格式做一下轉換就好了:

date('M d, H: i', $story['modified']);

44行

顯示故事的主題內容。

好了,這樣我們就能看到介面上的圖片,然後也能點擊主介面上的大部分按鈕了。

下一章節我們來進行使用者登入,然後新增文章等操作。

一步一步教你用PHP+MySql搭建網站 No.2 圖片顯示和Page頁面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.