• 技术文章 >后端开发 >php教程

    简单易用的计数器(数据库)_PHP教程

    2016-07-21 16:06:18原创397

    用法
    include("counter.php");
    Counter(__FILE__);//为文件增加一个计数
    if($PHP_SELF=="/index.php")
    {
    $count=Counter("INDEX_COUNT");//为首页增加一个计数
    }
    else
    {
    $count=Counter("INDEX_COUNT","",0);//取得首页计数
    }
    echo "你是第$count个访问者";
    ?>
    --------counter.php-----------
    if(!isset($PHP_INCLUDE_COUNTER_PHP))
    {$PHP_INCLUDE_COUNTER_PHP=__FILE;

    $counter_error_state=0;
    $counter_error_msg="";
    function Counter($file,$query="",$add=1)
    {
    $db_name="database";
    $db_user="username";
    $db_pass="password";
    $db_table="counter";

    if(empty($file))
    {
    $counter_error_state=-100;
    $counter_error_msg="缺少第一个参数或参数为空";
    return -100;
    }
    global $PHP_SELF,$QUERY_STRING,$counter_error_state,$counter_error_msg;
    if(empty($db_user)||!$db_user||$db_user=="")$res=@mysql_connect("localhost");
    else $res=@mysql_connect("localhost",$db_user,$db_pass);
    if(!$res)
    {
    $counter_error_states=-10;
    $counter_error_msg="不能连接数据库";
    return -10;
    }
    if(!@mysql_select_db($db_name))
    {
    $counter_error_states=-11;
    $counter_error_msg="不能选择数据库";
    return -11;
    }
    else
    {
    if(!$db_res=@mysql_query("SELECT * FROM ".$db_table))
    {
    if(!$db_res=@mysql_query("CREATE TABLE ".$db_table." (id INTEGER AUTO_INCREMENT,PRIMARY KEY (id),file VARCHAR(255),query VARCHAR(255),time VARCHAR(255),count INT)"))
    {
    $counter_error_states=-20;
    $counter_error_msg="不能创建数据表";
    return -20;
    }
    @mysql_free_result($db_res);
    }
    $str="SELECT * FROM ".$db_table." WHERE file=\"".$file."\" AND query=\"".$query."\"";

    if(!$db_res=@mysql_query($str))
    {
    $counter_error_states=-30;
    $counter_error_msg="不能查询记录";
    return -30;
    }
    $num=@mysql_num_rows($db_res);
    if($num>1)
    {
    $counter_error_states=-40;
    $counter_error_msg="发生没有预期的错误=数据行数错误";
    return -40;
    }
    $count=0;
    $str="INSERT ";
    $strWhere="";
    if($num==1)
    {
    $row=@mysql_fetch_array($db_res);
    @mysql_free_result($db_res);
    $count=$row["count"];
    $id=$row["id"];
    $str="UPDATE ";
    $strWhere=" WHERE id=$id";
    }
    if($add<1)return $count;
    $count+=$add;
    $str.=$db_table." SET file=\"".$file."\",query=\"".$query."\",time=\"".date("Y;n;d;G;i;s")."\",count=".$count.$strWhere;
    $db_res=@mysql_query($str);
    if(!$db_res)
    {
    $counter_error_states=-50;
    $counter_error_msg="不能添加或更新记录";
    return -50;
    }
    return $count;
    }
    }

    }
    ?>

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/315451.htmlTechArticle用法 ? include(counter.php); Counter(__FILE__);//为文件增加一个计数 if($PHP_SELF==/index.php) { $count=Counter(INDEX_COUNT);//为首页增加一个计数 } else { $count=...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:简单 易用的 用的 计数器 数据库 用法 include counter.php Counter FILE 文件
    上一篇:一个php作的文本留言本的例子(四)_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 聊聊php怎么让Swoole/Pool进程池实现Redis持久连接• 一文解析PHP元转分的错误示范(附代码实例)• PHP+Socket系列之实现websocket聊天室• PHP+Socket系列之实现客户端与服务端数据传输• PHP+Socket系列之IO多路复用及实现web服务器
    1/1

    PHP中文网