简单生活 发表于 2015-2-4 00:06:35

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;
      }
}

}
?> 培训的第四阶段,就是应用PHP语言开发实际的程序。以结合实际的项目开发来进行学习,效果真的很好,在学习完之后就开始练习,能比较容易掌握所学的知识,这是学校的学习所没法比的。

小魔女 发表于 2015-2-4 08:52:34

写的比较杂,因为我也是个新手,不当至于大家多多指正。

仓酷云 发表于 2015-2-6 16:14:05

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。

分手快乐 发表于 2015-2-7 19:48:44

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

透明 发表于 2015-2-10 07:12:46

写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。

精灵巫婆 发表于 2015-3-1 01:47:42

说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年具体的记不清啦,囧。

深爱那片海 发表于 2015-3-4 14:17:35

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

蒙在股里 发表于 2015-3-9 06:15:46

写的比较杂,因为我也是个新手,不当至于大家多多指正。

山那边是海 发表于 2015-3-11 06:31:08

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

飘灵儿 发表于 2015-3-17 22:19:11

Ps:以上纯属原创,如有雷同,纯属巧合

莫相离 发表于 2015-3-25 03:57:13

这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。

admin 发表于 2015-3-28 15:21:51

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

若相依 发表于 2015-4-1 00:10:37

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

愤怒的大鸟 发表于 2015-4-7 12:54:56

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

柔情似水 发表于 2015-4-18 04:32:55

基础有没有对学习php没有太大区别,关键是兴趣。

灵魂腐蚀 发表于 2015-5-1 22:31:58

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

乐观 发表于 2015-5-6 15:11:42

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

不帅 发表于 2015-6-8 09:33:37

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

再现理想 发表于 2015-6-12 23:04:43

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

小女巫 发表于 2015-6-14 02:28:22

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
页: [1] 2
查看完整版本: PHP编程:复杂易用的计数器(数据库)