分離功能和布局的基本思想就是使得這兩組人能夠各自編寫和使用獨立的一組文件:程序員只需關(guān)心那些只包含PHP代碼的文件,無需關(guān)心頁面的外觀;而頁面設(shè)計人員可以用自己最熟悉的可視化編輯器設(shè)計頁面布局,無需擔(dān)心破壞任何嵌入到頁面的PHP代碼。 如果你曾經(jīng)看過幾個關(guān)于PHP模板的教程,那么你應(yīng)該已經(jīng)明白模板的工作機制??紤]一個簡單的頁面局部:頁面的上方是頁頭,左邊是導(dǎo)航條,其余部分是內(nèi)容區(qū)域。 可以看出頁面如何由這些模板構(gòu)造而成:main模板控制著整個頁面的布局;header模板和leftnav模板控制著頁面的公共元素?;ɡㄌ枴皗}”里面的標識符是內(nèi)容占位符。使用模板最主要的好處在于界面設(shè)計者能夠按照自己的意愿編輯這些文件,比如設(shè)置字體、修改顏色和圖形,或者完全地改變頁面的布局。界面設(shè)計者可以用任何普通HTML編輯器或者可視化工具編輯這些頁面,因為這些文件都只包含HTML代碼,沒有任何PHP代碼。 PHP代碼全部保存到單獨的文件中,這個文件也就是由頁面URL實際調(diào)用的文件。Web服務(wù)器通過PHP引擎解析該文件,然后把結(jié)果返回給瀏覽器。一般地,PHP代碼總是動態(tài)地生成頁面內(nèi)容,比如查詢數(shù)據(jù)庫或者執(zhí)行某種計算等。下面是一個例子: // 此處的PHP代碼設(shè)置 $content使其包含合適的頁面內(nèi)容 $tpl-assign('CONTENT', $content); $tpl-parse('HEADER', 'header'); $tpl-parse('LEFTNAV', 'leftnav'); $tpl-parse('MAIN', 'main'); $tpl-FastPrint('MAIN'); ?這里我們使用的是流行的FastTemplate模板類,但其基本思路對于其他許多模板類來說都一樣。首先你實例化一個類,告訴它到哪里去尋找模板文件以及哪一個模板文件與頁面的哪部分對應(yīng);接下來是生成頁面內(nèi)容,把結(jié)果賦予內(nèi)容的標識符;然后,依次解析各個模板文件,模板類將執(zhí)行必要的替換操作;最后把解析結(jié)果輸出到瀏覽器。 這個文件完全由PHP代碼構(gòu)成,不包含任何HTML代碼,這是它最大的優(yōu)點?,F(xiàn)在,PHP程序員可以集中精力編寫生成頁面內(nèi)容的代碼,而不必為了如何生成HTML去正確地格式化最終頁面而擔(dān)心。 很容易看出采用模板還有第二個好處。如上例所示,頁面左邊的導(dǎo)航條單獨保存為一個文件,我們只需編輯這一個模板文件就可以改變網(wǎng)站所有頁面左邊的導(dǎo)航條。 避免頁面元素重復(fù) “這確實不錯”,你也許會想,“我的網(wǎng)站主要就是由大量的靜態(tài)頁面構(gòu)成?,F(xiàn)在我可以從所有頁面中刪除它們的公共部分,要更新這些公共部分實在太麻煩了。以后我就可以用模板制作出很容易維護的統(tǒng)一頁面布局。”但事情并非這么簡單,“大量的靜態(tài)頁面”道出了問題的所在。 請考慮上面的例子。這個例子實際上只有一個example.php頁面,它之所以能夠生成整個網(wǎng)站的所有頁面,是因為它利用了URL中的查詢字符串從數(shù)據(jù)庫之類的信息源動態(tài)地構(gòu)造出頁面。 我們之中的大多數(shù)人所運行的網(wǎng)站并不一定都有數(shù)據(jù)庫支持。我們的網(wǎng)站大多數(shù)由靜態(tài)頁面構(gòu)成,然后用PHP在這里、那里加上一些動態(tài)功能,比如搜索引擎、反饋表單等。那么,如何在這種網(wǎng)站上應(yīng)用模板呢? 最簡單的方法是為每一個頁面復(fù)制一份PHP文件,然后在每一個頁面中把PHP代碼里代表內(nèi)容的變量設(shè)置成合適的頁面內(nèi)容。例如,假設(shè)有三個頁面,它們分別是主頁(home)、關(guān)于(about)和產(chǎn)品(product),我們可以用三個文件分別生成它們。這三個文件的內(nèi)容都類如: 希望你能夠喜歡本網(wǎng)站"; $tpl-assign('CONTENT', $content); $tpl-parse('HEADER', 'header'); $tpl-parse('LEFTNAV', 'leftnav'); $tpl-parse('MAIN', 'main'); $tpl-FastPrint('MAIN'); ?顯然,這種方法有三個問題:我們必須為每一個頁面復(fù)制這些復(fù)雜的、牽涉到模板的PHP代碼,這與重復(fù)公共頁面元素一樣使得頁面難以維護;現(xiàn)在文件又混合了HTML和PHP代碼;為內(nèi)容變量賦值將變得非常困難,因為我們必須處理好大量的特殊字符。 解決這個問題的關(guān)鍵就在于分離PHP代碼和HTML內(nèi)容,雖然我們不能從文件中刪除所有的HTML內(nèi)容,但可以移出絕大多數(shù)PHP代碼。靜態(tài)網(wǎng)站的模板框架: ob_end_clean(); $tpl-assign('CONTENT', $content); $tpl-parse('HEADER', 'header'); $tpl-parse('LEFTNAV', 'leftnav'); $tpl-parse('MAIN', 'main'); $tpl-FastPrint('MAIN'); } ?ageStart函數(shù)首先創(chuàng)建并設(shè)置了一個模板實例,然后啟用輸出緩存。此后,所有來自頁面本身的HTML內(nèi)容都將進入緩存。pageFinish函數(shù)取出緩存中的內(nèi)容,然后在模板對象中指定這些內(nèi)容,最后解析模板并輸出完成后的頁面。 這就是整個模板框架全部的工作過程了。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),大通企業(yè)網(wǎng)站建設(shè),大通品牌網(wǎng)站建設(shè),網(wǎng)站定制,大通網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,大通網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
首先搭建一個PHP環(huán)境,我用的wamp
然后比如你的數(shù)據(jù)庫位置是本地localhost
數(shù)據(jù)庫用戶名是root
數(shù)據(jù)庫密碼是123456
數(shù)據(jù)庫名是mydb
數(shù)據(jù)庫里有個表mytab
有3個字段
id(主鍵) name sno
1 張三 123
2 李四 456
然后在項目根目錄,新建一個文件:index.php
?php
//連接數(shù)據(jù)庫
$con=mysqli_connect("localhost","root","123456","mydb");
//SQL語句
$sql="select * from mytab;";
//執(zhí)行SQL語句,結(jié)果保存到$arr
$obj=mysqli_query($con,$sql);
$arr=mysqli_num_rows($result);
?
html
head
meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
title實現(xiàn)最簡單的php網(wǎng)頁+mysql查詢功能/title
/head
body
?php
echo "pre";
print_r($obj);
?
/body
/html
之后就能夠看到結(jié)果了
這個官網(wǎng)手冊講解的很清楚的,模板渲染。例如:
$this-assign('data',$data);($data是你查詢出的結(jié)果集)
在頁面你就可以直接拿到data值,進行輸出。
PHP代碼全部保存到單獨的文件中,這個文件也就是由頁面URL實際調(diào)用的文件。Web服務(wù)器通過PHP引擎解析該文件,然后把結(jié)果返回給瀏覽器。一般地,PHP代碼總是動態(tài)地生成頁面內(nèi)容,比如查詢數(shù)據(jù)庫或者執(zhí)行某種計算等。下面是一個例子:
?php
//
example.php
require('class.FastTemplate.php');
$tpl
=
new
FastTemplate('.');
$tpl-define(
array(
'main'
=
'main.htm',
'header'
=
'header.htm',
'leftnav'
=
'leftnav.htm'
)
);
//
此處的PHP代碼設(shè)置$content使其包含合適的頁面內(nèi)容
$tpl-assign('CONTENT',
$content);
$tpl-parse('HEADER',
'header');
$tpl-parse('LEFTNAV',
'leftnav');
$tpl-parse('MAIN',
'main');
$tpl-FastPrint('MAIN');
?
這里我們使用的是流行的FastTemplate模板類,但其基本思路對于其他許多模板類來說都一樣。首先你實例化一個類,告訴它到哪里去尋找模板文件以及哪一個模板文件與頁面的哪部分對應(yīng);接下來是生成頁面內(nèi)容,把結(jié)果賦予內(nèi)容的標識符;然后,依次解析各個模板文件,模板類將執(zhí)行必要的替換操作;最后把解析結(jié)果輸出到瀏覽器。
這個文件完全由PHP代碼構(gòu)成,不包含任何HTML代碼,這是它最大的優(yōu)點?,F(xiàn)在,PHP程序員可以集中精力編寫生成頁面內(nèi)容的代碼,而不必為了如何生成HTML去正確地格式化最終頁面而擔(dān)心。
你可以使用這種方法和上面的文件構(gòu)造出一個完整的網(wǎng)站。如果PHP代碼是以URL中的查詢字符串為基礎(chǔ)生成頁面內(nèi)容,例如,你可以據(jù)此構(gòu)造出一個完整的雜志網(wǎng)站。
很容易看出采用模板還有第二個好處。如上例所示,頁面左邊的導(dǎo)航條單獨保存為一個文件,我們只需編輯這一個模板文件就可以改變網(wǎng)站所有頁面左邊的導(dǎo)航條。
查看:
先用記事本打開模板文件,看看是什么格式的。PHP?html?或者還是專門的模板語法,例如smart或者dede?
專業(yè)的可以用Dreamweaver查看和修改
修改:
這個就需要一些網(wǎng)頁設(shè)計制作方面的專業(yè)知識了。有需要可以到合肥網(wǎng)頁設(shè)計交流群(QQ群:168818469)里,找熱心網(wǎng)友幫忙。
首先我是新手, 看到這個問題試了下, 不知道能不能幫助你!希望~
還有很多條件沒有判斷, 我正則不是很會。 寫的很粗糙,勉強能用, 希望別介意哈!
?php
class Database {
public $conn;
public function Database() {
$this-conn = mysql_connect("localhost","user","password");
mysql_select_db("gamesearch",$this-conn);
mysql_query("SET NAMES 'UTF8'");
}
public function get_data_array($sql) {
$rs = mysql_query($sql,$this-conn);
$data_array = array();
while($data = mysql_fetch_array($rs,MYSQL_ASSOC)) {
$data_array[] = $data;
}
mysql_free_result($rs);
return $data_array;
}
}
$db = new Database();
if($_GET['year'] == "") {
echo "請輸入年份!";
}else {
if($_GET['year'] == "all") {
$sql = "select GameName from GameSearch";
}else {
$sql = "select GameName from GameSearch where ReleaseYear = ".$_GET['year'];
}
$data = $db-get_data_array($sql);
foreach($data as $k=$v) {
echo $v['GameName']."br /";
}
}
?
form action="test.php" method="get"
年份:input type="text" name="year" value="all" /
input type="submit" value="提交" /
/form
網(wǎng)站題目:php數(shù)據(jù)庫查詢網(wǎng)站模板 php數(shù)據(jù)庫查詢網(wǎng)站模板是什么
本文URL:http://muchs.cn/article22/doscejc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、自適應(yīng)網(wǎng)站、全網(wǎng)營銷推廣、虛擬主機、手機網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)