使用方法
<span style="white-space:pre"> </span>$rid=intval($_GPC['rid']);
$rid=$this->setkeyword($_GPC['keywords'],$rid);
if(empty($rid)){
message('关键字参数错误,请重新提交。');
}
关键字处理
public function setkeyword($_kewords,$rid=0,$_module=''){
global $_W;
if(empty($_module)){
$_module=$this->module['name'];
}
if(empty($_kewords)) {
return false;
}
if($rid==0){
//新添加,第一步添加到rule表中,第二步添加关键字
$rule = array(
'weid' => $_W['weid'],
'cid' => '',
'name' =>$_kewords,
'module' => $_module,
'status' => 1,
'displayorder'=>0,
);
$result = pdo_insert('rule', $rule);
$rid = pdo_insertid();
if (!empty($rid)) {
//更新,添加,删除关键字
$rows = array();
$rowtpl = array(
'rid' => $rid,
'weid' => $_W['weid'],
'module' => $rule['module'],
'status' => $rule['status'],
'displayorder' => $rule['displayorder'],
);
if(!empty($_kewords)) {
$_kewords=str_replace(' ',',',$_kewords);
$kwds = explode(',', trim($_kewords));
foreach($kwds as $kwd) {
$kwd = trim($kwd);
if(empty($kwd)) {
continue;
}
$rowtpl['content'] = $kwd;
$rowtpl['type'] = 1;
$rows[md5($rowtpl['type'] . $rowtpl['content'])] = $rowtpl;
}
}
foreach($rows as $krow) {
$result = pdo_insert('rule_keyword', $krow);
}
return $rid;
} else {
return false;
}
}else{
//修改
$rule = pdo_fetch("SELECT * FROM ".tablename('rule')." WHERE id = :id AND weid=:weid AND module=:module", array(':id' => $rid,':weid'=>$_W['weid'],':module'=>$_module));
if($rule==false){
pdo_delete('rule_keyword',array('rid'=>$rid,'module'=>$_module));
return false;
}
//获取所有关键字
$keylist=pdo_fetchall('select * FROM '. tablename('rule_keyword') . ' WHERE `rid`=:rid AND `weid`=:weid order by id asc',array('rid'=>$rid,':weid'=>$_W['weid']));
$_kewords=str_replace(' ',',',$_kewords);
$kwds = explode(',', trim($_kewords));
if(count($kwds)>count($keylist)){
foreach($kwds as $k=>$v){
if(isset($keylist[$k])){
if($v==$keylist[$k]['content']){
//关键字相同,无需操作
}else{
pdo_update('rule_keyword',array('content'=>$v),array('id'=>$keylist[$k]['id']));
}
}else{
//超出部分,新添加
$rowtpl = array(
'rid' => $rid,
'weid' => $_W['weid'],
'module' => $rule['module'],
'status' => $rule['status'],
'displayorder' => $rule['displayorder'],
'content' => $v,
'type' => 1,
);
pdo_insert('rule_keyword',$rowtpl);
}
}
return $rid;
}else{
foreach($keylist as $k=>$v){
if(isset($kwds[$k])){
if($v['content']==$kwds[$k]){
//关键字相同,无需操作
}else{
pdo_update('rule_keyword',array('content'=>$kwds[$k]),array('id'=>$v['id']));
}
}else{
//超出部分,删除
pdo_delete('rule_keyword',array('id'=>$v['id']));
}
}
return $rid;
}
}
return $rid;
}
删除关键字
//删除关键字
public function delkeyword($rid=0,$_module=''){
global $_W;
if(empty($_module)){
$_module=$this->module['name'];
}
$temp1=pdo_delete("rule_keyword",array('rid'=>$rid,'module'=>$_module));
$temp2=pdo_delete("rule",array('id'=>$rid,'module'=>$_module));
return $temp1&&$temp2;
}