SupeSite中用sql调用ecms文章方法

如果你需要用SS模板或整合SS,数据调用是必不可少的工作哦,SS后台本身有非常强大的模块功能,并且能够让你输入一些高级SQL语句。也许你会说其它程序我用JS调用,当然也可以,但是,你会感觉到SQL调用速度远远快过于JS调用的方法。这也是写下此文的原因,如何操作咧?下面我们以调用ECMS最新文章为例,做如下处理:

1、我们模块管理中选择建立“论坛主题”的新模块,如果你选择错误,没关系,你在生成的代码中修改成name=”bbsthread” 就是了,后台生成的代码,我们可以在调用中修改、微调的。

2、选择“高级模式”建立,输入SQL,最开始我直接输入 “SELECT * FROM phome_ecms_news” ,以便于观察能打印出什么数据;

3、将生成的代码放在 index.html.php中看打印出来的数据是什么,我经过分析,打印出来的phome_ecms_news中并没有文章的链接,仔细分析发现 ECMS 的文章链接是通过栏目自己定义链接样式的,我的链接样式是栏目链接+日期+文章ID;如果文章链接本身存在数据表中,可以下一步。

4、经过分析后,我通过classid 进行关联来获取数据, SQL语句修改为:“SELECT * FROM phome_ecms_news n,phome_enewsclass c WHERE n.classid = c.classid“,进行打印分析,我已经获取到了相关的数据;

5、排序方式,我们要选择ECMS中数据的排序方式,而不是SS中默认的,我选择的最新文章,所以将SQL语句修改为:“SELECT * FROM phome_ecms_news n,phome_enewsclass c WHERE n.classid = c.classid order by newstime DESC”;

6、我们并不需要查询所以数据,以免加重服务器负担(其实可以忽略不计,哈哈),所以我们选择我们需要的数据调用,SQL语句修改为:“SELECT title ,classurl,truetime,id FROM phome_ecms_news n,phome_enewsclass c WHERE n.classid = c.classid order by newstime DESC”;

7、现在基本获取到了我们需要的全部数据,但是ECMS中title,我们不能控制他的标题长度,所以我们需要将title转化subject调用,修改SQL语句为:“SELECT title as subject,classurl,truetime,id FROM phome_ecms_news n,phome_enewsclass c WHERE n.classid = c.classid order by newstime DESC”

8、好了,大功告成了。我们只需要设置样式就是了,我的样式如下:

<!--{loop $_SBLOCK['vrcfonews'] $value}-->
    <dd><a href="{$value[classurl]}/#date("Y-m-d", $value["truetime"])#/{$value[id]}.html" title="subjectall" target="_blank">$value[subject]</a></dd>
<!--{/loop}-->

记住如果你需要在{$value[id]}.html这样的话,一定要记得家{}哦,不然会出错。

看完这篇文章,你是否明白了咧?不要局限于此哦,数据调用就是如此简单,你可以将同样的高级sql调用方法运用到其它程序,如dedecms,ecshop,ecmall等。

相关文章:

1、SupeSite常用sql语句高级篇(二)
https://www.onexin.net/supesite-commonly-used-high-level-articles-sql-statement-b/

2、SupeSite常用sql语句(一)
https://www.onexin.net/supesite-common-sql-statements/

3、创建 PDO 实例请求连接SQL数据库
https://www.onexin.net/pdo-database/

4、数据库设计中的英文术语表
https://www.onexin.net/english-glossary-database-design/

5、Magento中获取Zend DB对象中的SQL语句
https://www.onexin.net/magento-zend-db-object-for-sql-statements/

转载请注明出处:https://www.onexin.net/supesite-using-sql-method-calls-ecms-article/

Leave a Reply

Your email address will not be published. Required fields are marked *