技術(shù)資訊
dede:sql 調(diào)用flag att文檔屬性 翻頁(yè)
2014-07-25 12:40:12
dede:sql標(biāo)簽分頁(yè) dede:sql 調(diào)用flag/att文檔屬性 翻頁(yè),青島網(wǎng)站建設(shè)中有時(shí)候需要在頁(yè)面上通過(guò)sql語(yǔ)句調(diào)用其他數(shù)據(jù)庫(kù)或者其他表的數(shù)據(jù),例如在當(dāng)前列表頁(yè)調(diào)用一個(gè)特定文檔屬性的文章列表,再加上翻頁(yè),效果就不好處理了,需要對(duì)arc.listview.class.php進(jìn)行改造,方法在這篇文章有描述 DEDE{dede:sql}標(biāo)簽如何分頁(yè) ,下文最后會(huì)在描述一遍,改造完著文件后,就可以這樣調(diào)用了。
{dede:listsql pagesize='1' sql="select a.id as aid, a.description as description, t.id as tid,typeid,senddate,title,litpic,ismake,arcrank,namerule,typedir From ltd_archives a, ltd_arctype t where a.typeid = t.id and FIND_IN_SET('f', flag)>0" }
<li><a href="[field:array runphp='yes']@me=GetFileUrl(@me['aid'],@me['typeid'],@me['senddate'],@me['title'],@me['ismake'],@me['description'],@me['arcrank'],@me['namerule'],@me['typedir'],@me['money']);[/field:array]"><img src="[field:litpic/]" width="304" height="158" /><h4>[field:title/]</h4>
<h5>[field:senddate function='strftime("%Y-%m-%d",@me)'/]</h5>
<p>[field:description/]...</p></a>
</li>
{/dede:listsql}
<div class="page">
<!--分頁(yè)-->
{dede:pagelist listsize='1' listitem='pre pageno next'/}
</div>
arc.listview.class.php進(jìn)行改造,方法:
找到:
if(!is_object($ctag))
{
$ctag = $this->dtp->GetTag("list");
}
這一段,在其后添加如下代碼:
if(!is_object($ctag))
{
$ctag = $this->dtp->GetTag("listsql");
if (is_object($ctag))
{
$cquery = $ctag->GetAtt("sql");
$cquery = preg_replace("/SELECT(.*?)FROM/is", " SELECT count(*) as dd FROM ", $cquery);
$cquery = preg_replace("/ORDER(.*?)SC/is", "", $cquery);
$row = $this->dsql->GetOne($cquery);
if(is_array($row))
{
$this->TotalResult = $row['dd'];
}
else
{
$this->TotalResult = 0;
}
}
}
//end
然后找到:
if($ctag->GetName()=="list")
{
$limitstart = ($this->PageNo-1) * $this->PageSize;
$row = $this->PageSize;
if(trim($ctag->GetInnerText())=="")
{
$InnerText = GetSysTemplets("list_fulllist.htm");
}
else
{
$InnerText = trim($ctag->GetInnerText());
}
$this->dtp->Assign($tagid,
$this->GetArcList(
$limitstart,
$row,
$ctag->GetAtt("col"),
$ctag->GetAtt("titlelen"),
$ctag->GetAtt("infolen"),
$ctag->GetAtt("imgwidth"),
$ctag->GetAtt("imgheight"),
$ctag->GetAtt("listtype"),
$ctag->GetAtt("orderby"),
$InnerText,
$ctag->GetAtt("tablewidth"),
$ismake,
$ctag->GetAtt("orderway")
)
);
}
這一段,在其后添加如下代碼:
else if($ctag->GetName()=="listsql")
{
$limitstart = ($this->PageNo-1) * $this->PageSize;
$row = $this->PageSize;
if(trim($ctag->GetInnerText())=="")
{
$InnerText = GetSysTemplets("list_fulllist.htm");
}
else
{
$InnerText = trim($ctag->GetInnerText());
}
$this->dtp->Assign($tagid,
$this->GetSqlList(
$limitstart,
$row,
$ctag->GetAtt("sql"),
$InnerText
)
);
}
//end
最后找到function GetArcList這個(gè)方法,在其后添加一個(gè)可以通過(guò)傳入sql參數(shù)獲取指定數(shù)據(jù)源的方法,代碼如下:
function GetSqlList($limitstart = 0, $row = 10, $sql = '', $innertext){
global $cfg_list_son;
$innertext = trim($innertext);
if ($innertext == '') {
$innertext = GetSysTemplets('list_fulllist.htm');
}
//處理SQL語(yǔ)句
$limitStr = " LIMIT {$limitstart},{$row}";
$this->dsql->SetQuery($sql . $limitStr);
$this->dsql->Execute('al');
$t2 = ExecTime();
//echo $t2-$t1;
$sqllist = '';
$this->dtp2->LoadSource($innertext);
$GLOBALS['autoindex'] = 0;
//獲取字段
while($row = $this->dsql->GetArray("al")) {
$GLOBALS['autoindex']++;
if(is_array($this->dtp2->CTags))
{
foreach($this->dtp2->CTags as $k=>$ctag)
{
if($ctag->GetName()=='array')
{
//傳遞整個(gè)數(shù)組,在runphp模式中有特殊作用
$this->dtp2->Assign($k,$row);
}
else
{
if(isset($row[$ctag->GetName()]))
{
$this->dtp2->Assign($k,$row[$ctag->GetName()]);
}
else
{
$this->dtp2->Assign($k,'');
}
}
}
}
$sqllist .= $this->dtp2->GetResult();
}//while
$t3 = ExecTime();
//echo ($t3-$t2);
$this->dsql->FreeResult('al');
return $sqllist;
}
//end
近期更新
- [2023-07-26 14:17:28] 為品牌賦能,海外官網(wǎng)品牌數(shù)字化
- [2023-05-06 10:32:26] 青島網(wǎng)站建設(shè)公司,高端網(wǎng)站定制,一站式網(wǎng)站服務(wù)——力圖數(shù)字科技
- [2023-04-27 13:47:54] 高端定制網(wǎng)站建設(shè)——從滿足預(yù)期到走向卓越
- [2023-04-11 09:17:49] H5頁(yè)面設(shè)計(jì)開(kāi)發(fā)——移動(dòng)端傳播利器
- [2022-11-16 10:11:43] windows2012程序在哪
- [2022-04-14 11:01:47] 力圖數(shù)字科技配套網(wǎng)站服務(wù)支持
- [2021-05-18 10:14:11] 青島網(wǎng)站建設(shè)的流程
- [2021-04-29 10:14:38] 企業(yè)定制化官網(wǎng)建設(shè)項(xiàng)目
- [2021-03-05 10:34:45] 移動(dòng)互聯(lián)時(shí)代房地產(chǎn)行業(yè)的微信小程序解決方案
- [2021-01-22 17:29:38] 微信小程序有哪些優(yōu)勢(shì)?為什么要開(kāi)發(fā)微信小程序?
- [2021-01-08 17:28:04] 網(wǎng)站建設(shè)最容易忽略的人性化設(shè)計(jì)
- [2020-12-16 16:55:32] 建設(shè)一個(gè)常規(guī)的公司網(wǎng)站建設(shè)成本大概是多少?
延伸閱讀
- [2013-04-19 16:11:51] dede當(dāng)前父欄目高亮
- [2016-09-29 19:08:00] 網(wǎng)站制作訪客至上的設(shè)計(jì)秘笈
- [2011-10-18 11:29:26] 企業(yè)網(wǎng)站如何做好百度搜索引擎的排名
- [2014-11-25 22:45:19] {dedechannel limit= channel 增加limit屬性 功能
- [2012-07-12 08:36:50] 網(wǎng)站交互設(shè)計(jì)
- [2011-12-07 23:08:37] 青島網(wǎng)站制作中如何合理的布局網(wǎng)站關(guān)鍵詞
- [2012-02-19 21:04:27] 網(wǎng)頁(yè)設(shè)計(jì)細(xì)節(jié)的處理
- [2015-02-10 08:50:56] 網(wǎng)頁(yè)設(shè)計(jì)師如何把簡(jiǎn)約之美做到極致
- [2014-11-29 13:24:10] 網(wǎng)頁(yè)設(shè)計(jì)中的按鈕小竅門
- [2015-01-25 12:37:36] 百度《站點(diǎn)子鏈》工具開(kāi)始了內(nèi)測(cè)申請(qǐng)?
- [2014-05-14 23:12:27] 網(wǎng)站設(shè)計(jì)如何更有利于推廣優(yōu)化?
- [2011-12-28 22:59:35] 如何運(yùn)營(yíng)好一個(gè)企業(yè)網(wǎng)站
解決方案
輪胎行業(yè)網(wǎng)站設(shè)計(jì)解決方案 機(jī)械行業(yè)網(wǎng)站設(shè)計(jì)解決方案 房地產(chǎn)行業(yè)網(wǎng)站設(shè)計(jì)解決方案 科技企業(yè)網(wǎng)站設(shè)計(jì)解決方案 電子家電網(wǎng)站設(shè)計(jì)解決方案 食品行業(yè)網(wǎng)站設(shè)計(jì)解決方案 集團(tuán)公司網(wǎng)站設(shè)計(jì)解決方案 企事業(yè)單位網(wǎng)站設(shè)計(jì)解決方案 外貿(mào)行業(yè)網(wǎng)站設(shè)計(jì)解決方案 健身運(yùn)動(dòng)網(wǎng)站設(shè)計(jì)解決方案 美容與化妝品網(wǎng)站設(shè)計(jì)解決方案 建筑設(shè)計(jì)行業(yè)網(wǎng)站設(shè)計(jì)解決方案 物流行業(yè)網(wǎng)站設(shè)計(jì)解決方案
TAGS關(guān)鍵字
網(wǎng)站動(dòng)畫(huà) 版面布局 青島網(wǎng)站建設(shè)公司哪家好 html和css 網(wǎng)站改版 企業(yè)網(wǎng)站建設(shè) css 企業(yè)網(wǎng)站 青島SEO 視覺(jué)靈感 手機(jī)網(wǎng)站 青島輪胎網(wǎng)站設(shè)計(jì) 營(yíng)銷型網(wǎng)站 中小型企業(yè)網(wǎng)站建設(shè) 青島flash網(wǎng)站 力圖數(shù)字科技 企業(yè)建站 網(wǎng)站建設(shè),手機(jī)網(wǎng)站 網(wǎng)站SEO 手機(jī)網(wǎng)站建設(shè) 交互設(shè)計(jì) 程序開(kāi)發(fā) 網(wǎng)站策劃 網(wǎng)站設(shè)計(jì)資訊 網(wǎng)站品牌 網(wǎng)站建設(shè)的步驟有哪些 平面設(shè)計(jì) H5 青島網(wǎng)站案例 青島做網(wǎng)站多少錢