PHP + MySQL 搭建網(wǎng)站-圖片顯示和 Page 頁面

2018-09-28 20:13 更新

圖片顯示和 Page 頁面

接著上一章節(jié)的看,我們現(xiàn)在的程序有了第一個主頁面,但是我們會發(fā)現(xiàn)幾個問題,一個是主頁上的圖片沒法顯示,二是點擊 read more ... 之后的鏈接沒有內(nèi)容。

這兩個頁面的入口分別是下圖里面的兩個框出來的內(nèi)容。

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

Resize_image.php

我們注意到其實這個鏈接的完整 URL 是: resize_image.php?image=...&max_width=...&max_height=...;也就是說這個鏈接有 3 個參數(shù): image 是圖片的名稱,max_width 和 height 分別對應(yīng)圖片的寬和高。那么我們在這個頁面我們該如何處理呢?

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

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

page.php

因為點擊 page 頁面其實相當(dāng)于打開了 3 個不同類型的 blog 內(nèi)容的詳細頁面,所以我們肯定是需要到數(shù)據(jù)庫里面進行 select 操作的。

上一篇里面有講解過,我們只需要改變中間的顯示內(nèi)容,所以在第 10 行和第 47 行,我們分別引入了 header.php 和 footer.php ,中間的內(nèi)容我們通過數(shù)據(jù)庫查詢以后再顯示出來。

我們展示 page 頁面的時候,可能有時候是用戶點擊了某一條 story,這時候參數(shù)里面會有 story,傳入的是故事的 id;或者可能是某一類的只有 page 字段,所以根據(jù)參數(shù)中有沒有 story,我們來決定我們的 select 該怎么寫。

但是無論如何,我們最后得到的都是這樣的表結(jié)構(gòu):

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

注意看到 id 字段不僅僅是 primary key,而且它還是 auto_increment 屬性,在 MySQL 里面,auto_increment 就是自增字段,每次插入數(shù)據(jù)時,會自動查詢當(dāng)前序列的最大值,然后加 1,

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

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

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

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

好了我們回歸正題,在 while 循環(huán)體內(nèi),我們能看到每個故事是由 4 部分組成的,

27 行:

顯示每篇 story 的 headline,

29-35 行:

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

36-41 行:

這里我們需要用到 db_fns.php 中的新的函數(shù):

把下面的函數(shù)添加進 db_fns.php 中,這個函數(shù)很簡單,就是把當(dāng)前 sotry 的 writer 信息找到。

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

這里在數(shù)據(jù)庫里面存儲的是 10 位的時間戳形式的,顯示的時候 根據(jù)格式做一下轉(zhuǎn)換就好了:

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

44 行

顯示故事的主題內(nèi)容。

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

下一章節(jié)我們來進行用戶登錄,然后新增文章等操作。

本文由 kaka 創(chuàng)作,采用 知識共享署名-相同方式 3.0 (CC協(xié)議)中國大陸許可協(xié)議 進行許可。轉(zhuǎn)載、引用前需聯(lián)系作者,并署名作者且注明文章出處。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號