1. 嘗試設置一個頁面模板
創新互聯公司網絡公司擁有十年的成都網站開發建設經驗,1000+客戶的共同信賴。提供成都網站設計、成都做網站、網站開發、網站定制、外鏈、建網站、網站搭建、成都響應式網站建設、網頁設計師打造企業風格,提供周到的售前咨詢和貼心的售后服務
1)拷貝一個index.php并改名為其它名,如list.php;
2)在list.php頁面最頂部添加
?php /*
Template Name: 友鏈
*/
?
以上兩步就可以創建一個頁面模板了,修改并保存好這個文件后,創建一個新頁面或者修改已存在的頁面。在右下邊有個“頁面模板”的面板,在下拉菜單中選中“友鏈”后保存就可以了。
然后在頁面中添加任何內容,包括html代碼就可以顯示了。可是我的需求是要自己完成PHP代碼獲取數據并展示,它不能這么做。
2. 調用 WordPress 的 API實現URL正確跳轉
這種方法的自由度較高,并且可以創建非WordPress格式的URL。比如我們要把 轉交給主題文件夾下的 /custom/list.php 來處理,就可以用這種方式來處理。這種方法用到 template redirect 鉤子,template redirect 是 WordPress 在預處理好所有參數設置之后決定調用主題模板的時候調用的。
在functions.php模板函數文件中添加以下實例代碼:
function loadCustomTemplate($template) {
global $wp_query;
if(!file_exists($template))return;
$wp_query-is_page = true;
$wp_query-is_single = false;
$wp_query-is_home = false;
$wp_query-comments = false;
// if we have a 404 status
if ($wp_query-is_404) {
// set status of 404 to false
unset($wp_query-query["error"]);
$wp_query-query_vars["error"]="";
$wp_query-is_404=false;
}
// change the header to 200 OK
header("HTTP/1.1 200 OK");
//load our template
include($template);
exit;
}
function templateRedirect() {
$basename = basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);
loadCustomTemplate(TEMPLATEPATH.'/custom/'."/$basename.php");
}
add_action('template_redirect', 'templateRedirect');
這樣就實現了 WordPress 查找 /custom 文件夾下的 php 文件,并且將相匹配的 URL 請求轉交給對應的 php 文件來處理的效果,與此同時,這個 php 文件還保持了對 WordPress API 的調用,因此留給我們的空間非常大。
接下來就可以在 /custom 文件夾下自定義一個list.php文件然后通過鏈接訪問。
3. 添加頁面內容,獲取自定義數據庫/表中的內容
然后就可以根據需要自己需要來實現自己想要的功能,這里需要有以下幾點要處理:
1)如何操作數據庫
WordPress提供了一個全局變量$wpdb,并將其實例化為wpdb類的對象。這樣我們就可以直接使用$wpdb來調用所有的數據庫操作函數。通過這個$wpdb對象,我們可以對WordPress數據庫進行任何操作,包括建表、查詢、刪除、更新等。使用$wpdb-get_results實現執行sql語句操作數據庫,并獲取結果。
global $wpdb;
$sql= "SELECT * FROM ".$wpdb-prefix.table;
$a = $wpdb-get_results($sql);
2)使用wordpress的樣式
通過F12查看首頁代碼就可以發現只要使用對應的class樣式就能輕松讓頁面統一規整。那么就把對應的html添加到自定義PHP頁面中即可。
3)利用wordpress的規則輕松實現翻頁
wordpress已經默認支持翻頁,格式如:,只要在自定義的頁面里面定義好每頁返回正確的內容就好啦。
4. 設置nginx rewrite規則
可讀性強的URL一定不能是這樣的格式,對爬蟲也不友好,那就需要配置好rewrite規則,我使用的是nginx的配置為:
rewrite ^(.*)/indexed/page/([0-9]+)$ $1/indexed?page=$2 last;
到現在為止,離成功只有一步之遙了,那就是新建一個頁面, 大功告成!
在 數據表 的基礎上 加一個標簽表 再加一個數據標簽關聯表 然后根據數據ID去查找 標簽,也可以根據標簽 查找出數據
cms提供直接輸出、PHP代碼體兩種方便開發者使用的數據輸出接口。
1、直接輸出
本類型是將后臺錄入的數據格式原樣輸出到客戶端
返回格式為:
array(3) { ["code"]= int(1) ["msg"]= string(2) "ok" ["data"]= string(7) "test123" }
2、JSON數組
本類型數據內容必須是一個json格式的數組字符串
返回格式為:
array(3) { ["code"]= int(1) ["msg"]= string(2) "ok" ["data"]= array(3) { [0]= string(1) "1" [1]= string(1) "2" [2]= string(1) "3" } }
3、php執行代碼
4、模板查詢標簽
本類型需要有CMS模板標簽的使用經驗,直接寫標簽代碼返回結果
例如調用news模塊全部數據:
{module module=news} 或者 {list action=module module=news}
模板標簽只能寫一段,不能寫多段
通過以上的list查詢方法可調用循環標簽的全部數據,當然你可以對結果進行格式化處理,使用回調方法。
5、自定義模板標簽
本類型需要有CMS模板標簽的使用經驗,直接寫標簽代碼返回結果,區別于(4),本類型可以直接在標簽里面寫賦值方法和格式化顯示,不需要寫回調方法
這里循環出news模塊的全部數據,只顯示id,title,再把thumb轉換為url地址。
也可以這樣寫,原理是將輸出變量賦值給$api數組:
{module module=news} {php $api[$key]['id']=$t['id'];} {php $api[$key]['title']=$t['title'];} {php $api[$key]['thumb']=dr_thumb($t['thumb'], 200,200);} {/module}
以上語法格式為:
6、自定義PHP代碼
本類型需要有PHP的開發使用經驗,直接將php業務代碼寫進去
$api變量為直接返回,例如:
$api = '我的自定義返回變量值';
返回截圖如下:
也可以自定義強制返回
$api = '我的自定義返回變量值'; PhpcmfService::C()-_json(1, '我的返回腳本成功了', $api); // 成功寫法 PhpcmfService::C()-_json(0, '我的返回腳本失敗了'); // 失敗寫法
查看一下代碼:
?php
//?獲取表單提交值
$student_id?=?intval(trim($_POST['student_id']));
//?頁面表單??可以放單獨的html文件中,如果放單獨的html頁面中?form?的action的地址要改成下面的PHP文件名
echo?'form?action=""?method="post"
input?type="text"?name="student_id"?value="{$student_id}"/
input?type="submit"?name="submit"?value="查詢"/
/form';
//?當有數據提交時
if?($student_id)
{
$con=?mysql_connect("localhost","root","111")?or?die("連接錯誤");
mysql_select_db("examination",$con);
//?查詢
$sql?=?"SELECT?*?FROM?tablename?WHERE?student_id?=?$student_id?";
$res=mysql_query($sql);
$row=mysql_fetch_array($res);
//?輸出
echo?'學號:'.$row['student_id'].'br姓名:'.$row['name'].'br性別:'.$row['gender'].'br分數:'.$row['score'];
}
?
smarty如何實現這樣的功能呢,希望高手給點思路哦{smarty:list cid=10 row=8 ordering=pubdate}{$list.title}{/smarty}讀取文章列表 cid??欄目ID是10 row 顯示8行 pudate 按照發布時間排序
你是想說百度的實時搜索那樣的功能嗎?
百度不是用datalist,是根據輸入的關鍵詞用AJAX技術到服務器端拿到這個關鍵詞相關的熱門搜索再放到一個普通的ul下面,用li循環出來的
而且datalist這個標簽很多瀏覽器不兼容,不建議使用
網站標題:Php自定義查詢數據標簽 php實現簡單的查詢功能
文章來源:http://vcdvsql.cn/article10/hepcgo.html
成都網站建設公司_創新互聯,為您提供商城網站、面包屑導航、品牌網站建設、關鍵詞優化、移動網站建設、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯