dede:sql标签条件中的id获取不到当前栏目的值

{dede:sqlsql="selecttypename,id,content,sortrankFROMdede_arctypewherereid=40andsortra... {dede:sql sql="select typename,id,content,sortrank FROM dede_arctype where reid=40 and sortrank >
(select sortrank FROM dede_arctype where id =~id~) order by sortrank asc LIMIT 3}

dede:sql标签条件中的id获取不到当前栏目的值, {dede:sql sql="select typename,id,content,sortrank FROM dede_arctype where reid=40 and id < ~id~ order by sortrank asc LIMIT 3"}
此语句id都能获取到,为什么加个嵌套就获取不到了?
展开
 我来答
空白XIAOXIAOYU
推荐于2016-10-13 · TA获得超过1188个赞
知道小有建树答主
回答量:771
采纳率:66%
帮助的人:167万
展开全部
因为你的sql语句是错的 没有你这种用法啊 dede:sql语句也是遵循正规sql语法演变的,你这个id<这是什么语法啊你直接写where reid=40 and
order by sortrank asc LIMIT 3,你的id的数值是查询数据完成得到的,你说你嵌入进去,查询执行到这里的时候,还没完成怎么可能得到数值,我猜想你分开写,让语句正常结束得到的数值引入下个查询语句 否则你的思路行不通 因为 select sortrank FROM dede_arctype where id =~id~你这个查询语句需要结束 那么就需要dede:sql这个结束标志 有了他才可以得到你的查询结果是把,然后你利用这个结果作为上个查询的条件撒 按我说的试试看 估计要改代码
追问
sql我把id换成值,直接在后台查,数据是能出来的。关键是dede:sql 中不能嵌套 dede:sql啊,所以只能用一条sql取数据

where reid=40 and
order by sortrank asc LIMIT 3 我要把id作为条件进行查询。
追答
那还不简单 不能嵌套你写两个语句 中间的用@me这个获取id数值被  你懂不懂dede啊 id换成数值当然可以查下 你换成语句不用想都不知道
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式