PHPCMS数据库入库模块制作教程

来自:互联网
时间:2018-08-26
阅读:

进入PHPCMS数据库后,把数据库的整个结构复制下来。鼠标定位到v9_admin之前点击左键,下拉到最后看到表 v9_workflow,鼠标定位到该表的最右侧,在符号'-'右边,按住Shift并点击左键。现在已经全选了整个PHPCMS数据库表结构,我们把他复制到一个名为1.txt的文档中。

进入PHPCMS后台新加一篇文章,尽可能的把参数都填满,再次进入数据库把整个表的结构复制到名为2.txt的文章中。打开软件 BeyondCompare 进行文本比较,把2个txt文件分别拖动到软件的左侧和右侧。我们看到了2个文件中不同部分用粉红色标识出来了。

在我的测试中,文章添加前后变动的表有 v9_hits、v9_keyword、v9_keyword_data、v9_news、v9_news_data、v9_search、v9_session

我们来小补一下这几个表的知识

v9_hits 文章点击数,该表记录对应文章ID的点击数,如果你入库的文章要参与点击排行榜,那么这个表是必填的。
v9_keyword 记录这所有文章的关键字,如果你不需要调用所有关键字,可以不管这个表。
v9_keyword_data 跟v9_keyword表是关联起来的,也可以不管这个表。
v9_news 很重要,记录文章标题,描述,网址等重要信息
v9_news_data 很重要,记录文章内容等重要信息
v9_search 这个表把所有文章标题和内容进行分词,方便搜索用,用软件实现这个功能也没多大意义,可以不管这个表
v9_session 这个表一共就一行,每次进行操作后他都会自动变,不用管这个表

最终,我们得到了3个最重要的表,分别是 v9_news、v9_news_data、v9_hits 把这3个表关联起来,就可以开始制作SQL入库模块了。

v9_news表中的字段id为自增值,咱们以他来对其他2个表进行关联。首先打开表v9_news,点击导出并另存为到本地,咱们用记事本打开 v9_news.sql,拉到最下面找到 INSERT INTO 语句,把他复制下来,VALUES后面复制到第一个括号结束为止。

我把他复制到了火车头采集器中的数据库模块编辑器中,第一个值id,因为他是自增值,所以把字段id和其对应的值删除,其他根据要求填写,填好后如下:

INSERT INTO `[数据表前缀]news` (`catid`, `typeid`, `title`, `style`, `thumb`, `keywords`, `description`, `posids`, `url`, `listorder`, `status`, `sysadd`, `islink`, `username`, `inputtime`, `updatetime`) VALUES([标签:分类ID], 0, '[标签:标题]', '', '[标签:缩略图地址]', '[标签:关键字]', '[标签:摘要]', 0, '[标签:文章地址]', 0, 99, 1, 0, '[标签:用户名]', '[系统时间戳]','[系统时间戳]')

记住是一行一条语句,从v9_news.sql中复制过来的INSERT INTO语句中,VALUES后面换行了,我们得把他合并为一行,否则语句就出错了。用同样的方法导出表v9_news_data并复制其中的INSERT INTO到数据库模块编辑器中的新一行。第一个字段是id,必须与v9_news表中的id对应起来,所以在值中用'[文章编号:表名XXX]'来表示上一个表中的id值,这里的表名不包含前缀,填写好后如下:

INSERT INTO `[数据表前缀]news_data` (`id`, `content`, `readpoint`, `groupids_view`, `paginationtype`, `maxcharperpage`, `template`, `paytype`, `relation`, `voteid`, `allow_comment`, `copyfrom`) VALUES('[文章编号:news]', '[标签:内容]', 0, '', 0, 10000, '', 0, '', 0, 1, '|0')

最后一个表v9_hits导出并复制INSERT INTO语句到数据库模块编辑器中的新一行。第一个字段hitsid的格式为c-1-1 这里把3个值用短杠连起来的,最后一个值即为文章id,同样把他跟前面的id关联起来,填好后如下:

INSERT INTO `[数据表前缀]hits` (`hitsid`, `catid`, `views`, `yesterdayviews`, `dayviews`, `weekviews`, `monthviews`, `updatetime`) VALUES('c-1-[文章编号:news]','[标签:分类ID]', '[标签:总浏览次数]','[标签:昨天浏览次数]', '[标签:24小时浏览次数]', '[标签:周浏览次数]', '[标签:月浏览次数]','[系统时间戳]')

保存后,连接数据库,填写数据库表前缀,默认为 v9_ 点击测试入库。如果提示语句错误,你看下SQL语句是否为1行一个,最简单的方法是把SQL全部复制到Notepad++ 如果行数为3行说明是正确的。如果是因为值填错而报错,可根据提示信息来找到问题所在。

最后一点,很重要!上面的SQL语句基本上可以通用,唯独'[标签:文章地址]'是没办法获取到的,只能在入库完成后,进入PHPCMS后台更新URL。所以呢,目前网上也没人分享PHPCMS的入库模块,只能通过WEB发布或接口文件来进行PHPCMS的数据发布。本文写的主要是一个思路,用该方法去试试制作织梦CMS的数据库入库模块,保证轻而易举能够完成。

返回顶部
顶部