简单易用的计数器(数据库)
【字号:
大 中 小】
日期:2023-10-03 13:59:33浏览:32作者:馨心
用法 <? 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; } } } ?>;