欢迎来到福编程网,本站提供各种互联网专业知识!

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

发布时间:2006-10-09 作者: 来源:转载
用法--------counter.php-----------
用法

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;

}

}

}

?>

相关推荐