织梦文章页面如何做小程序进行调用文章的php怎么写

最近在研究小程序,发现文章页面的调用没找到适合的ajaxphp现成的!

于是想着自己写一下吧!

首先,我们确定逻辑

逻辑属性

1、先判断id和channel 是否为空//理论上来说,从列表页进入文章页,列表的php是可以获取到channel 的,所以为了省事,直接得到channel

2、不为空则先用channel 查询 `dede_channeltype` 表得到addtable 是哪个表

3、然后根据id查询`dede_archives` 表得到标题 关键字等数据

4、接着查询2步骤得到的表名字 查询 body等其他信息

5、合并2个表

6、输出合并的数组,说起来容易

我们先本地测试

获取文章id和channel 判断是否为数字 然后如果没有就设置为0

$arcID = $aid = (isset($aid) && is_numeric($aid)) ? $aid : 0;
$channelID = $channel = (isset($channel) && is_numeric($channel)) ? $channel : 0;//获取$channel 默认为0

如果有一个为0 则die 停止

if($aid==0 || $channelID==0) die(" Request Error! ");//如果有一个为0则退出

定义2个表

$channelcx = 'dede_channeltype';//根据channel 查询的表,需要得到附加表
$bodycx = "";//定义附加表字段

进行第二步骤查询得到附加表

global $dsql,$ftp;
$dsql->IsError = FALSE;//IsError(返回 Boolean 值)是EXCEL中的一个函数,主要用于判断公式运行结果是否出错。只要在公式中加入ISERROR函数进行判断就可以避免出现错误值而返回一个空值。
$sql = "SELECT addtable FROM $channelcx WHERE id='$channelID'";
$rows = $dsql->GetOne($sql);
$bodycx=$rows['addtable'];//得到附加表的字段值

得到附加表后,因为织梦附加表只有body 和自定义字段,还需要查询和列表一样的archives里面标题等数据表

合并查询 ,具体sql语句意思请查看 https://www.xhcss.com/xh/sqljc/sqlcjwt/215.html 一文

$sqls = "SELECT a.*,t.*
    FROM `dede_archives` as a JOIN $bodycx AS t ON a.id=t.aid where id=$aid";
$dsql->SetQuery($sqls);//执行一条查询
$dsql->Execute('list');
$row = $dsql->GetArray("list");
$state = 0;//是否有数据,默认没有数据
$data = array();
$index = 0;
$data= $row;

得到$data就是最后的查询数据了!输出即可




相关内容

发表评论

验证码:
点击我更换图片

最新评论