php隨機(jī)文章
方法1、WC寫的高效隨機(jī)調(diào)用
$randnum=1; //隨機(jī)數(shù)量
$randids='';
$randdh='';
for($i=1;$i<=$randnum;$i++)
{
$randids.=$randdh.rand(18,30); //1為最小ID,100000為最大ID
$randdh=',';
}
?>
[e:loop={29,1,0,0,"id in ($randids)"}]
[/e:loop]
問題:因?yàn)樵?$randids.=$randdh.rand(18,30); 這個(gè)里,ID改成1,10000,無法顯示,只有改成當(dāng)前欄目的最小和最大ID,才能顯示出來。那么問題是:現(xiàn)在文章少,如果以 后文章增多,這里的最大ID要隨時(shí)修改么?還是有其他的辦法呢?
答案:增加個(gè)系統(tǒng)擴(kuò)展變量,以后改擴(kuò)展變量就可以,不用改模板
如:增加了一個(gè)=$public_r['add_listnum']?>擴(kuò)展變量 寫到"$randids.=$randdh.rand(18,30); "
格式為: $randids.=$randdh.rand($public_r['add_listnum']); 即:把去掉
----------------------------------------------------------------------------------------------------------------------------------------------
方法2、
第一步:創(chuàng)建一個(gè)自定義頁面:后臺-欄目-自定義頁面- 增加自定義頁面
填寫:①頁面模式:直接頁面式 ②頁面名稱(*):php隨機(jī)文章 ③文件名(*): ../../test.php (在根目錄) ④所屬分類:有就選擇沒有就默認(rèn)不選
⑤ 網(wǎng)頁標(biāo)題、網(wǎng)頁關(guān)鍵詞、網(wǎng)頁描述:省略不填了 ⑥頁面內(nèi)容(*):看第二步
注釋:填寫大意為:位置為 ../../test.php,直接頁面式
第二步:代碼大致為(下面的要連接上數(shù)據(jù)庫)
?php
require('e/class/connect.php'); //引入數(shù)據(jù)庫配置文件和公共函數(shù)文件
require('e/class/db_sql.php'); //引入數(shù)據(jù)庫操作文件
$link=db_connect(); //連接MYSQL
$empire=new mysqlquery(); //聲明數(shù)據(jù)庫操作類
$sql="SELECT * FROM {$dbtbpre}ecms_news AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM {$dbtbpre}ecms_news )-(SELECT MIN(id) FROM {$dbtbpre}ecms_news))+(SELECT MIN(id)
FROM {$dbtbpre}ecms_news )) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 1";
?
?php
$str="";
for($i=1;$i<11;$i++){
$nr= $empire->fetch1($sql);
$titleurl=sys_ReturnBqTitleLink($nr);
$str=$str."
}
db_close(); //關(guān)閉MYSQL鏈接
$empire=null; //注消操作類變量
echo $str;
?
第三步:①模板中用[readhttp]'http://127.0.0.1/dg2/test.php'[/readhttp] 調(diào)用文件 (不成功,只有后臺刷新才能隨機(jī)變化)
②用框架代碼: (成功,但不利于seo)
注釋:①看看 code.start 和 code.end是干啥的(就是<和>):
//解析代碼
function RepExeCode($string){
global $public_r;
if($public_r[candocode])
{
$string=str_replace('','<',$string);
$string=str_replace('','>',$string);
}
return $string;
}
②for($i=1;$i<11;$i++){ 這行中的11表示調(diào)用10條 舉例:for($i=1;$i<6;$i++){ 表示條用5條
方法2----演變、
直接在根目錄(目錄自行選擇更改)新建一個(gè)php文件把下面的代碼復(fù)制進(jìn)去
require('../class/connect.php'); //引入數(shù)據(jù)庫配置文件和公共函數(shù)文件
require('../class/db_sql.php'); //引入數(shù)據(jù)庫操作文件
$link=db_connect(); //連接MYSQL
$empire=new mysqlquery(); //聲明數(shù)據(jù)庫操作類
$sql="SELECT * FROM {$dbtbpre}ecms_news AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM {$dbtbpre}ecms_news )-(SELECT MIN(id) FROM {$dbtbpre}ecms_news))+(SELECT MIN(id)
FROM {$dbtbpre}ecms_news )) AS id) AS t2 WHERE t1.id >= t2.id ORDER BY t1.id LIMIT 1";
?>
$str="";
for($i=1;$i<6;$i++){
$nr= $empire->fetch1($sql);
$titleurl=sys_ReturnBqTitleLink($nr);
$str=$str."
}
db_close(); //關(guān)閉MYSQL鏈接
$empire=null; //注消操作類變量
echo $str;
?>
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: 帝國CMS最高效的幾種隨機(jī)文章的寫法