WEB开发网
开发学院WEB开发PHP 简单易用的计数器(数据库) 阅读

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

 2001-05-11 16:35:59 来源:WEB开发网   
核心提示:用法 <? include("counter.php"); Counter(__FILE__);//为文件增加一个计数 if($PHP_SELF=="/index.php") { $count=Counter("INDEX_COUNT");//为首页增加
用法
<?
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;
    }
}

}
?> 

Tags:简单 易用 计数器

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接