织梦sql语句查询条件中传入联动类型的动态参数

CMS yun 7年前 (2017-05-18) 3222次浏览 扫描二维码

织梦sql 语句查询条件中传入联动类型的动态参数为中文,而数据库中的字段为数字,直接传入动态参数显然不能查询到任何数据
思路:1.要么将查询条件的值变成中文 2.传入的动态参数为数字
思路 1 不知道
思路 2:
一、二次开发文档 /include/extend.func.php 将以下代码复制进去

/*用于 sql 语句调用时传入的联动类型的值的动态参数是数字*/
function GetAddField($aid,$addField){
	global $dsql;
    $row = $dsql->GetOne("SELECT c.addtable FROM #@__archives AS a LEFT JOIN #@__channeltype AS c ON a.channel=c.id where a.id='$aid'");//查询出对应文章的模型 id
    $addtable = trim($row['addtable']); 
	$row = $dsql->GetOne("SELECT $addField FROM `$addtable` WHERE aid=$aid");
	return $row["$addField"];
}

二、需要调用的地方加入

        {dede:php}
        $refObj->Fields['xq2'] = GetAddField($refObj->Fields['id'],xq);
        {/dede:php}
{dede:sql sql="select * from dede_archives inner join dede_addon_al on dede_archives.id=dede_addon_al.aid where dede_addon_al.xq =~xq2~ }//放在 mysql 语句上
....
....
{/dede:sql}
//赋值给 xq2(此处 xq 是原始字段 xq2 是赋值字段)

需要说明的是后台-系统基本参数-模板引擎禁用标签 将 PHP 删掉


个人分享+网络资源丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 随意转载织梦 sql 语句查询条件中传入联动类型的动态参数
喜欢 (0)
[info@ldzgr.com]
分享 (0)