如果你要导入或采集数据到帝国数据表里,那么你必须先了解帝国是如何通过表单录入数据的,这些数据又经过了哪些处理。
分析过后你会发现,帝国是先通过表单填写数据,然后提交到函数AddNews,再由这个函数处理获取自定字段,分别判断字段特征并做相应处理,最终将信息写入各自的表中。
也许你会感觉到很复杂,将这些信息分析再入库是一件很繁杂的事情。
其实我们只需要将数据处理成表单提交后的样子就可以了,然后将这些数据交给AddNews,这样是不是很轻松呢。
下面说一下具体做法(这里以后台添加信息为例):
1、获取表单的数据模板
打开文件e/admin/ecmsinfo.php,找到如下代码
| 1 | if($enews=="AddNews")//增加信息 |
我们在这个判断内容中添加如下代码:
| 1 2 3 4 5 6 7 8 9 | if($enews=="AddNews")//增加信息{foreach($_POST as $k=>$v){echo "/$add[{$k}]='{$v}';/r/n";}exit;$navtheid=(int)$_POST['filepass'];AddNews($_POST,$logininid,$loginin);} |
2、到后台添加一条信息,你会发现你需要数据模板产生了。
有了数据模板我们就可以将要导入的数据赋值给相应的变量
数据模板:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | $add[enews]='AddNews';$add[classid]='1';$add[bclassid]='0';$add[id]='0';$add[filepass]='1403739425';$add[username]='';$add[oldfilename]='';$add[oldgroupid]='';$add[oldchecked]='1';$add[newstext_url]='';$add[ecmsfrom]='http://www.52img.cn/e/admin/listenews.php';$add[ecmsnfrom]='1';$add[fstb]='';$add[oldttid]='';$add[ecmscheck]='0';$add[ztids]='';$add[zcids]='';$add[oldztids]='';$add[oldzcids]='';$add[newstime]='2014-06-26 07:37:05';$add[myarea]='001010008005';$add[pingzhong]='产品品种';$add[qs]='证书编号';$add[title]='企业名称';$add[checked]='1';$add[producttitle]='产品名称';$add[mingxi]='产品明细';$add[xkdz]='住所';$add[address]='生产地址';$add[jianyan]='1';$add[addtime]='发证日期';$add[endtime]='有效期';$add[danwei]='发证单位';$add[status]='1';$add[chdate]='变更日期';$add[chyy]='变更原因';$add[diedate]='注销日期';$add[dieyy]='注销原因';$add[istop]='0';$add[newstempid]='0';$add[groupid]='0';$add[userfen]='0';$add[onclick]='0';$add[totaldown]='0';$add[newspath]='2014-06-26';$add[filename]='';$add[infotags]='';$add[oldinfotags]='';$add[info_diyotherlink]='0';$add[info_keyid]='';$add[info_infouptime]='';$add[info_infodowntime]='';$add[vote_title]='';$add[vote_name]='Array';$add[vote_num]='Array';$add[v_vote_num]='1';$add[v_editnum]='8';$add[vote_class]='0';$add[dovote_ip]='0';$add[vote_olddotime]='0000-00-00';$add[vote_dotime]='0000-00-00';$add[vote_width]='500';$add[vote_height]='300';$add[vote_tempid]='1';$add[addnews]=' 提 交 '; |
新闻热点
疑难解答