帝国论坛帝国网站管理系统交流区帝国CMS使用交流[求助]在内容页如何用SQL语句调用指定相关栏目下的文章 【本版专题贴子】  
 1/3     1 2 3 ›› ›|
主题:[求助]在内容页如何用SQL语句调用指定相关栏目下的文章 [加入收藏夹]   

zywlyy
用户头衔:举人

精华贴   :0
发贴数   :160
经验值   :744
注册时间:2015-05-31
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[求助]在内容页如何用SQL语句调用指定相关栏目下的文章
这个代码只能调用 数据表里面的所有栏目的内容,而且1041就是栏目id。但是显示出来的文章是全部,并不是指定的词的文章。怎么修改为调用到指定词相关栏目下的文章啊
求大师指点
下面这个代码显示出来的文章是全部,并不是指定的词的文章,需要调整到指定词显示出来
自定义JS查询SQL语句: select * from phome_ecms_news where classid=1041 or title like '%$navinfor[title]%' order by id desc limit 10
下面效果也是,全部显示出来了,并不是指定的词的文章,需要调整到指定词显示出来。
自定义JS查询SQL语句: SELECT * FROM phome_ecms_news WHERE classid =1041 AND title LIKE '%" + $navinfor[title] + "%' ORDER BY id DESC LIMIT 10
把or换成and 我也试过了,不显示任何文章
【下面是我想要的效果与表达意思】
我想实现下面这个效果 如果用 [e:loop={'1041',50,0,0,"title like '%$navinfor[title]%' "}] 完全可以实现我想要的效果,
但是页面是 html 生成的文件 如果1041栏目有新的张三相关文章只有刷新页面才能更新出来
我要js的意思是:页面虽然是 html 生成的文件 ,但是用js格式,如果遇到1041栏目有新的张三相关文章,只要从新打开页面新文章就会自动同步到本页面
不知道大佬们,有没有明白我所表达的意思,上面两种:自定义JS查询SQL语句 都是直接全部显示出来了,并不是我想要的
求大师指点

上传以下图片:


[该贴被修改 12 次,最后修改时间 2024-01-04 21:22:52 ]


it行业
2024-01-01 18:56:53 已设置保密 顶部 回复 引用 报告 编辑 删除

zhxin
用户头衔:探花

精华贴   :0
发贴数   :3773
经验值   :10388
注册时间:2013-01-09
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

用and




2024-01-02 07:54:17 已设置保密 顶部 回复 引用 报告 编辑 删除

pmume
用户头衔:探花

精华贴   :0
发贴数   :3758
经验值   :10108
注册时间:2009-12-22
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

把语句中的or换成and




东坡网 DP1037.com

帝国CMS二次开发、插件定制、性能优化、帝国站群

QQ:2253145337 帝国站长互助QQ群:308293433

2024-01-02 13:59:04 已设置保密 顶部 回复 引用 报告 编辑 删除

zywlyy
用户头衔:举人

精华贴   :0
发贴数   :160
经验值   :744
注册时间:2015-05-31
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

把or换成and 我也试过了,不显示任何文章



it行业
2024-01-02 18:07:13 已设置保密 顶部 回复 引用 报告 编辑 删除

hibaidu
用户头衔:探花

精华贴   :0
发贴数   :3753
经验值   :11431
注册时间:2010-05-26
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

要终极栏目id




2024-01-03 07:52:04 已设置保密 顶部 回复 引用 报告 编辑 删除

zywlyy
用户头衔:举人

精华贴   :0
发贴数   :160
经验值   :744
注册时间:2015-05-31
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

1041 就是终极栏目id



it行业
2024-01-03 10:49:47 已设置保密 顶部 回复 引用 报告 编辑 删除

canyahan
用户头衔:秀才

精华贴   :0
发贴数   :70
经验值   :440
注册时间:2013-10-09
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

// 自定义的 JavaScript 查询 SQL 语句
var customSql = "SELECT * FROM phome_ecms_news WHERE classid = 1041 AND title LIKE '%" + $navinfor[title] + "%' ORDER BY id DESC LIMIT 10";

在上述代码中,我们使用了AND关键字来确保仅选择与指定词相关的栏目的文章。具体来说,我们将classid设置为 1041,并将title设置为包含指定词的字符串。然后,我们使用LIKE操作符来查找与指定词匹配的标题,并使用%作为通配符。
请注意,上述代码假设你的自定义SQL语句存储在一个名为customSql的变量中。你需要根据实际情况修改这个变量的名称和位置。此外,还需要确保将1041替换为你想要查询的指定栏目的ID。

[该贴被修改 1 次,最后修改时间 2024-01-03 22:35:05 ]



2024-01-03 22:30:58 已设置保密 顶部 回复 引用 报告 编辑 删除

zywlyy
用户头衔:举人

精华贴   :0
发贴数   :160
经验值   :744
注册时间:2015-05-31
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

试了 也不行,希望再次 调整指导 谢谢

[该贴被修改 1 次,最后修改时间 2024-01-04 01:22:19 ]


it行业
2024-01-04 01:21:59 已设置保密 顶部 回复 引用 报告 编辑 删除

lycool
用户头衔:探花

精华贴   :0
发贴数   :4206
经验值   :10776
注册时间:2008-02-15
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

因为自定义js不支持变量




2024-01-04 07:49:00 已设置保密 顶部 回复 引用 报告 编辑 删除

canyahan
用户头衔:秀才

精华贴   :0
发贴数   :70
经验值   :440
注册时间:2013-10-09
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

原帖由 zywlyy 于 2024-01-04 01:21:59 发表
试了 也不行,希望再次 调整指导 谢谢


例如,如果你想要调用名为"新闻"的相关栏目的文章,你可以使用以下 SQL 语句:
SELECT * FROM phome_ecms_art WHERE classid IN (SELECT classid FROM phome_ecms_arctype WHERE typename='新闻')
在上述语句中,typename='新闻' 表示指定的栏目名称为"新闻"。帝国 CMS 会根据你提供的栏目名称进行查询和匹配。
请注意,在帝国 CMS 的模板中,你可以使用变量来获取指定的栏目名称。例如,你可以使用以下代码从模板变量中获取栏目名称:
<?php
$typename = stripslashes($empire->getvar('typename'));
?>
然后,你可以将获取到的栏目名称传递给 SQL 语句,如下所示:
<?php
$limit = 10; // 每页显示的记录数量
$typename = stripslashes($empire->getvar('typename'));
$rs = $empire->db->getall("SELECT * FROM phome_ecms_art WHERE classid IN (SELECT classid FROM phome_ecms_arctype WHERE typename='$typename') LIMIT $limit");
?>
<?php while($r=$empire->db->fetch($rs)){?>
<div>
<h2><a href="<?=$r['url']?>" target="_blank"><?=$r['title']?></a></h2>
<div><?=$r['content']?></div>
</div>
<?php }?>
在上述代码中,$typename 变量将包含从模板变量中获取的栏目名称,然后将其传递给 SQL 语句进行查询。




2024-01-04 15:53:21 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/3     1 2 3 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1