[原创]6.6信息管理列表页批量添加TAGS
[原创]6.6信息管理列表页批量添加TAGS 第一次发原创代码贴,请高手多多指点,谢谢
A、以下代码加入到admin/ecmsinfo.php 在任意2个elseif中间插入就行
elseif($enews=="AddTags_all")//列表批量添加Tags { $classid=$_POST['classid']; $id=$_POST['id']; $tags=$_POST['add_listtags']; $newstime=time(); eInsertTags2($tags,$classid,$id,$newstime); }
B、将以下代码加入到class/uesrfun.php //加入TAG表 function eInsertTags2($tags,$classid,$id,$newstime){ global $empire,$dbtbpre,$class_r; if(!trim($tags)) { printerror("TAGS信息不能为空", "", 1, 0, 1); return ''; } $count = count($id); //统计ID数量 $tags = RepPostVar($tags); $tag = explode(",", $tags); if (empty($count)) { printerror("未选择信息ID", "", 1, 0, 1); } if (count($tag)>1) { printerror("只能添加一个TAGS词", "", 1, 0, 1); } $classid=(int)$classid; $id[$i] = (int)$id[$i]; $mid=(int)$class_r[$classid][modid]; for($i=0;$i<$count;$i++) { $tbname=$class_r[$classid][tbname];//获取表名 $r=$empire->fetch1("select tagid from {$dbtbpre}enewstags where tagname='$tags' limit 1"); $t = $empire->fetch1("select infotags from {$dbtbpre}ecms_".$tbname." where id='$id[$i]'"); $taga=$t['infotags'].",".$tags; //组合TAGS $tagb[$i] = explode(",",$taga); //设置数组 $tagc=array_values(array_unique($tagb[$i])); //数组排重 for($t=0;$t<count($tagc);$t++) {//二级子循环TAGS数组输出 $newtags[$i].= ",".$tagc[$t]; } if($r[tagid]) { $datar=$empire->fetch1("select tagid,classid,newstime from {$dbtbpre}enewstagsdata where tagid='$r[tagid]' and id='$id[$i]' and mid='$mid' limit 1"); if($datar[tagid]) { if($datar[classid]!=$classid||$datar[newstime]!=$newstime) { $empire->query("update {$dbtbpre}enewstagsdata set classid='$classid',newstime='$newstime' where tagid='$r[tagid]' and id='$id[$i]' and mid='$mid' limit 1"); } } else { $empire->query("update {$dbtbpre}enewstags set num=num+1 where tagid='$r[tagid]'"); $empire->query("update {$dbtbpre}ecms_".$tbname." set infotags='".trim($newtags[$i],",")."' where id='$id[$i]'"); $empire->query("insert into {$dbtbpre}enewstagsdata(tagid,classid,id,newstime,mid) values('$r[tagid]','$classid','$id[$i]','$newstime','$mid');"); } } else { $empire->query("update {$dbtbpre}ecms_".$tbname." set infotags='".trim($newtags[$i],",")."' where id='$id[$i]'"); $empire->query("insert into {$dbtbpre}enewstags(tagname,num,isgood,cid) values('$tags',1,0,0);"); $tagid=$empire->lastid(); $empire->query("insert into {$dbtbpre}enewstagsdata(tagid,classid,id,newstime,mid) values('$tagid','$classid','$id[$i]','$newstime','$mid');"); } } printerror("批量添加TAGS成功", "", 1, 0, 1); }
C、信息管理列表模板最后一列修改成以下代码 e/data/html/list/文件夹内
<td height="25" colspan="8"> <table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="68%" height="25"> <font color="#666666">备注:多选框蓝色为未审核信息;发布者红色为会员投稿;信息ID粗体为未生成,点击ID可刷新页面.</font> </td> <td width="32%"> <input type="text" name="add_listtags" id="add_listtags" size="50" value="" /> <input type="submit" name="Submit100" value="添加TAGS" onClick="document.listform.enews.value='AddTags_all';document.listform.action='ecmsinfo.php';"> </td> </tr> </table> </td>
Duplicate entry '' for key 2 insert into ***_enewstags(tagname,num,isgood,cid) values('',1,0,0);报错问题已修复 感谢水平凡的帮助
|
[该贴被修改 1 次,最后修改时间 2011-08-19 21:10:30 ]
爱旅行网 | 全球签证 | 签证问答 | 美国租车
|