簡(jiǎn)單易用的計(jì)數(shù)器(數(shù)據(jù)庫(kù))
更新時(shí)間:2006年10月09日 00:00:00 作者:
用法
<?
include("counter.php");
Counter(__FILE__);//為文件增加一個(gè)計(jì)數(shù)
if($PHP_SELF=="/index.php")
{
$count=Counter("INDEX_COUNT");//為首頁(yè)增加一個(gè)計(jì)數(shù)
}
else
{
$count=Counter("INDEX_COUNT","",0);//取得首頁(yè)計(jì)數(shù)
}
echo "你是第$count個(gè)訪問(wèn)者";
?>
--------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="缺少第一個(gè)參數(shù)或參數(shù)為空";
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="不能連接數(shù)據(jù)庫(kù)";
return -10;
}
if(!@mysql_select_db($db_name))
{
$counter_error_states=-11;
$counter_error_msg="不能選擇數(shù)據(jù)庫(kù)";
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="不能創(chuàng)建數(shù)據(jù)表";
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="發(fā)生沒(méi)有預(yù)期的錯(cuò)誤=數(shù)據(jù)行數(shù)錯(cuò)誤";
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;
}
}
}
?>
<?
include("counter.php");
Counter(__FILE__);//為文件增加一個(gè)計(jì)數(shù)
if($PHP_SELF=="/index.php")
{
$count=Counter("INDEX_COUNT");//為首頁(yè)增加一個(gè)計(jì)數(shù)
}
else
{
$count=Counter("INDEX_COUNT","",0);//取得首頁(yè)計(jì)數(shù)
}
echo "你是第$count個(gè)訪問(wèn)者";
?>
--------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="缺少第一個(gè)參數(shù)或參數(shù)為空";
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="不能連接數(shù)據(jù)庫(kù)";
return -10;
}
if(!@mysql_select_db($db_name))
{
$counter_error_states=-11;
$counter_error_msg="不能選擇數(shù)據(jù)庫(kù)";
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="不能創(chuàng)建數(shù)據(jù)表";
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="發(fā)生沒(méi)有預(yù)期的錯(cuò)誤=數(shù)據(jù)行數(shù)錯(cuò)誤";
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;
}
}
}
?>
相關(guān)文章
php面向?qū)ο笕ヂ?(十一)__toString()用法 克隆對(duì)象 __call處理調(diào)用錯(cuò)誤
我們前面說(shuō)過(guò)在類里面聲明“— ”開(kāi)始的方法名的方法(PHP 給我們提供的),都是在某一時(shí)刻不同情況下自動(dòng)調(diào)用執(zhí)行的方法2009-09-09
二十行語(yǔ)句實(shí)現(xiàn)從Excel到mysql的轉(zhuǎn)化
二十行語(yǔ)句實(shí)現(xiàn)從Excel到mysql的轉(zhuǎn)化...2006-10-10
PHP中call_user_func_array()函數(shù)的用法演示
今天,看了一段代碼,里面用到了很多call_user_func_array()函數(shù),一開(kāi)始,也是非常的迷糊,后來(lái)經(jīng)過(guò)查手冊(cè)發(fā)現(xiàn),call_user_func_array()函數(shù)還是很好用的,所以把PHP中call_user_func_array()函數(shù)用法用簡(jiǎn)單的代碼示例來(lái)說(shuō)明一下2012-02-02
新手學(xué)習(xí)PHP的一些基礎(chǔ)知識(shí)分享
新手學(xué)習(xí)PHP的一些基礎(chǔ)知識(shí)分享,想要學(xué)習(xí)php的朋友可以參考下。2011-07-07
PHP輸出控制功能在簡(jiǎn)繁體轉(zhuǎn)換中的應(yīng)用
PHP輸出控制功能在簡(jiǎn)繁體轉(zhuǎn)換中的應(yīng)用...2006-10-10
通過(guò)ODBC連接的SQL SERVER實(shí)例
通過(guò)ODBC連接的SQL SERVER實(shí)例...2006-10-10

