首页 > 其他分享 >判断网站是否更新数据(tp6项目为例)

判断网站是否更新数据(tp6项目为例)

时间:2023-01-29 18:22:46浏览次数:42  
标签:count name database 为例 db 更新 tp6 config daseinfo

1.获取数据库中所有数据表的条数累加去判断(多项目时)

2.选取新闻表和栏目表,获取总条数,与下次作比较判断(单项目时)

建议选取第一种:

3.连接数据库代码:

function databasecont($db_host,$db_name,$port,$user,$pass,$id){
        // $db_config = config('database');
        $conparas = [
            // 数据库类型
            'type'            => 'mysql',
            // 服务器地址
            'hostname'        => $db_host,
            // 数据库名
            'database'        => $db_name,
            // 用户名
            'username'        => $user,
            // 密码
            'password'        => $pass,
            // 数据库表前缀
            'prefix'          => 'tp_',
            // 端口
            'hostport'        => $port,
            //断线重连
            'break_reconnect' => true,
        ];
        $database_config = Config::get('database');
        //新增数据库参数配置
     
        $database_config['connections']['db_name_tx_def']= $conparas;
        //设置database参数为 修改过的database配置参数
        $config = Config::set($database_config, 'database');
        // var_dump($config);
        return Db::connect('db_name_tx_def',true);
    
}

调用以及判断更新:

      $link=databasecont($daseinfo['baseurl'],$daseinfo['basename'],$daseinfo['baseport'],$daseinfo['basetitle'],$daseinfo['basepass'],$daseinfo['id']);
      $table_info =$link->query("show tables from ".$daseinfo['basename']);
      foreach ($table_info as $key => $value) {  
         $atable[]=$value['Tables_in_'.$daseinfo['basename']];
      }
      $coun=0;
      foreach ($atable as $key => $value) {
          $sql_count=$link->query("select count(*) as up from ".$value);     
          $co[]= $sql_count[0]['up'];   
      }
      $count=array_sum($co);
     if($count!=$daseinfo['upcount']){
        $tj=$count-$daseinfo['upcount'];
        echo '<h3 style="color:red;font-size:16px;">新闻已更新'.$tj.'条数据!</h3>';
        $daseinfo=Db::name('website')->where(['id'=>$daseinfo['id']])->update(['upcount'=>$count]);
     }else{
        echo '新闻无更新,原数据'.$daseinfo['upcount'].'条数据!';
     }

4.实现的效果:

 

标签:count,name,database,为例,db,更新,tp6,config,daseinfo
From: https://www.cnblogs.com/mo3408/p/17073478.html

相关文章

  • mac-自动更新office出错
    打开excel帮助下的检查更新,提示安装更新时出错,一直没有搞明白是什么问题导致。直到看到其他网友的回答,发现可能是安装过cleanmymac等清理软件误删了一些重要架构。依据......
  • Node快速切换版本、版本回退(降级)、版本更新(升级)
    方案一:全局安装nnpminstall-gn安装最新稳定版nodenstable安装最新版本nodenlatest安装某个具体node版本n14.16.1删除某个版本nrm14.16.1查......
  • Docker consul容器服务更新与发现
    一、Consul概述1、什么是服务注册与发现服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯......
  • Docker consul的容器服务更新与发现
    一、Consul概述(1)什么是服务注册与发现服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯......
  • docker consul的容器服务更新与发现
    一、Consul1、什么是服务注册与发现(1)服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的......
  • idea远程仓库无法更新导致的各种错误,jar包无法下载
    直接把下面的配置替换成settings.xml中的内容<?xmlversion="1.0"encoding="UTF-8"?><settingsxmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xs......
  • 彻底禁止Windows 10更新,你的电脑你做主
    5月推送的Windows102004版本可以说是Windows10史上最曲折的版本更新升级,带来很多新特性的同时也收获了很多新bug。对于部分倒霉蛋用户,Windows10每次更新升级都......
  • 如何禁止Chrome弹出无法更新的提示窗?
    你的谷歌浏览器是不是也经常这样弹窗提示无法更新呢?无法更新ChromeChrome无法更新至最新版本,因此您未能获得最新的功能和安全修复程序。下面给出解决方法,这样就可以清静......
  • flutter:设置当前的channel并更新版本(从master切换到stable)
    一,查看当前flutter和dart的版本:说明:我们当前的channel是master,所以可以看到flutter和dart版本均为pre或dev版本:liuhongdi@liuhongdideMacBook-Pro~%flutter--ve......
  • 两张表关联更新
    两张表关联更新用一张表数据去update另一张表数据###!!!注意此操作比较危险,没有where条件,谨慎操作!!!#用表fei_002中course_01取更新表fei_001中course_01UPDAT......