zblog文章重复 判断文章是否存在

zblog10个月前zblog问题解答24
1、方法1

$article = $zbp->GetListType('Post', 'select * from ' . $zbp->db->dbpre . 'post where log_ID = 111');    	 		 	  
if (empty($article[0])) {    	 		 	  
 //说明文章不存在
}

[dbpre] => zbp_ 是表前缀

2、方法2 

$article = $zbp->GetListType('Post', 'select * from ' . $zbp->table['Post'] . ' where log_ID = 111');    	 		 	  
if (empty($article[0])) {    	 		 	  
 //说明文章不存在
}

表名也可以也可以:$zbp->table['Post'] ## 支持   Post  Category Tag Comment Member Config Module Upload

3、方法3 
$where = array('=', 'log_ID', 111);
$num = $zbp->db->Query($zbp->db->sql->get()->select($zbp->table['Post'])->column('COUNT(a_id) num')->where($where)->sql)[0]['num'];
if ($num == 0) {
    // 说明文章不存在
}

直接sql 
$cate_id_rand = $zbp->db->Query("select cate_id as id from " . $zbp->table['Category'] . " order by rand() limit 1")[0]['id']; // 随机分类
#$mem_id_rand = $zbp->db->Query("select mem_id as id from " . $zbp->table['Member'] . " order by rand() limit 1")[0]['id']; // 随机用户


4、方法4 GetArticleList
$articles = $zbp->GetArticleList('*', array(array('=', 'log_Title', '我是标题')));

if (empty($articles)) { 
      // 如果没有相同标题的文章,则发布
}

5 方法5

$sql = $zbp->db->sql->get()->selectany('count(log_ID) num')->from($zbp->table['Post'])->where(array('=', 'log_Title', $title))->sql;
$num = $zbp->db->Query($sql)[0]['num'];
if ($num == 0) {
    // 说明文章不存在
}


相关文章

Nginx规则 重定向

location ~* /show/.*\.(?:jpg|webp) {   rewrite ^/show/(.*)$ /$1&...

mysql创建给指定数据库创建账户密码

-- 假设你已经登录到了 MySQL 数据库管理系统中 -- 1. 创建用户 CREATE USER 'z...

php扩展 宝塔一览

php扩展 宝塔一览

必须装是因为 PHP7. 2 存在 绕过open_basedir()的问题,PHP7.4没有这个问题。其他2是提升效率的!!配置文件 可以  disable_classes = "...

【zblog用户】获取用户作者的 select option选项

<?php echo OutputOptionItemsOfMember(0);?> 参数0是默认选中的作者id 输出 <optio...

ucs-4 这是啥编码 mb_convert_encoding($content, 'ucs-4', 'utf-8') 啥意思

UCS-4 是一种Unicode字符编码形式,全称为 Universal Character Set - 4 bytes。它是Unicode标准的一种实现,其中每个字符都使用4个字...

base_convert 啥意思 PHP任意进制之间转换数字的函数

base_convert 是一个在任意进制之间转换数字的函数,通常用于编程语言中,如PHP。该函数接受三个参数:$number:要转换的数字,以字符串形式表示。$frombase:原始数字的...