日志分类:W(L)AMP

高效的php无限分类下拉菜单

2010/03/10 4:54 下午  |  分类:W(L)AMP


	header('Content-type: text/html; charset=gb2312');

	//以下是接收的数据格式
	//$array[0] = array("id"=>1,"pid"=>0,"name"=>"诛求");
	//$array[1] = array("id"=>2,"pid"=>0,"name"=>"2");
	//$array[2] = array("id"=>3,"pid"=>1,"name"=>"3");
	//$array[3] = array("id"=>4,"pid"=>1,"name"=>"4");
	//$array[4] = array("id"=>5,"pid"=>2,"name"=>"5");
	//$array[5] = array("id"=>6,"pid"=>4,"name"=>"6");
	//$array[6] = array("id"=>7,"name"=>"66","pid"=>6);

	draw($array);//执行,已经改成下拉菜单形式
	function draw($array){
	//tree array -- copy some codes from joomla
	$tree = array();
	if( $array ){
	foreach ( $array as $v ){
	$pt = $v['pid'];
	$list = @$tree[$pt] ? $tree[$pt] : array();
	array_push( $list, $v );
	$tree[$pt] = $list;
	}
	}

	//foreach root node
	echo $sel="


";
	}
	//foreach child node
	function drawTree($arr,$tree,$level)
	{
	$level++;
	$prefix = str_pad("|",$level+1,'-',STR_PAD_RIGHT);
	foreach($arr as $k2=>$v2)
	{
	echo "
"; if($tree[$v2['id']]) drawTree($tree[$v2['id']],$tree,$level); } }

上面方法的最大特点是一次查询把所有的分类数据取出,然后再对数组进行排序操作,效率很高,效果如下:

15ebd62bb3dcb0dae7cd408b 高效的php无限分类下拉菜单

链接源:http://www.zeevin.com/?p=17

9个PHP库简介和下载

2010/02/02 8:36 上午  |  分类:W(L)AMP

1. ReCAPTCHA

The reCAPTCHA 库让你可以为网站创建高级的 CAPTCHA 系统,这个系统其实是用来生成验证信息的,甚至包括语音验证。当然还有 reCAPTCHA 服务可以使用,其提供易用的免费 API,值得在你的网站试试。

下载 ReCAPTCHA | 获得 API Key | 文档

2. Akismet

Akismet 是个供小站点使用的免费服务,用来修改规范将加入数据库的评论(防止恶意评论)。这个库一直在改善。

详细参考 Akismet 介绍

3. Services_JSON

JSON 是人类能容易理解的信息传递格式。不过如果你并未使用 5.2.0 以后版本的 PHP(从那以后 PHP 有了 JSON 官方支持),那么就应该试试这个库。

查看 Services_JSON

4. Smarty

Smarty就是鼎鼎大名的官方模版库了。它提供了不少有用的功能。其实使用 PHP 的人都该瞧瞧。

下载 Smarty | 官方文档

全文阅读 »

Mysql 命令行导入 sql数据

2010/01/29 8:54 上午  |  分类:W(L)AMP

1.首先在命令行控制台中打开mysql

或许命令的如下:

mysql -u root -p database_name

然后或许会提示输入对应的密码

2.下面这条命令或许对你有用,当你想更换一个数据库的时候

mysql>use database_name

然后使用下面这个命令

mysql>source d:\datafilename.sql

当然你需要将文件所在的路径搞清楚,并且正确地使用了他

php获取ip地址以及所在省市[转]

2010/01/26 8:31 上午  |  分类:W(L)AMP
     function get_ip_place(){
        $ip=file_get_contents("http://fw.qq.com/ipaddress");
        $ip=str_replace('"',' ',$ip);
        $ip2=explode("(",$ip);
        $a=substr($ip2[1],0,-2);
        $b=explode(",",$a);
        return $b;
     }

    $ip=get_ip_place();
    print_r($ip);

全文阅读 »

php 时区列表

2010/01/22 10:23 上午  |  分类:W(L)AMP
Africa/Abidjan Africa/Accra Africa/Addis_Ababa Africa/Algiers Africa/Asmera
Africa/Bamako Africa/Bangui Africa/Banjul Africa/Bissau Africa/Blantyre
Africa/Brazzaville Africa/Bujumbura Africa/Cairo Africa/Casablanca Africa/Ceuta
Africa/Conakry Africa/Dakar Africa/Dar_es_Salaam Africa/Djibouti Africa/Douala
Africa/El_Aaiun Africa/Freetown Africa/Gaborone Africa/Harare Africa/Johannesburg
Africa/Kampala Africa/Khartoum Africa/Kigali Africa/Kinshasa Africa/Lagos
Africa/Libreville Africa/Lome Africa/Luanda Africa/Lubumbashi Africa/Lusaka
Africa/Malabo Africa/Maputo Africa/Maseru Africa/Mbabane Africa/Mogadishu
Africa/Monrovia Africa/Nairobi Africa/Ndjamena Africa/Niamey Africa/Nouakchott
Africa/Ouagadougou Africa/Porto-Novo Africa/Sao_Tome Africa/Timbuktu Africa/Tripoli
Africa/Tunis Africa/Windhoek

全文阅读 »

mysql里like结果不准确问题的解决方案

2010/01/08 4:53 下午  |  分类:W(L)AMP

问题出现的原因是:

在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。

MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。

全文阅读 »

php防止SQL注入函数[整理]

2009/12/27 11:54 上午  |  分类:W(L)AMP

方法一:

/*
函数名称:inject_check()
函数作用:检测提交的值是不是含有SQL注射的字符,防止注射,保护服务器安全
参         数: $sql_str: 提交的变量
返 回 值:返回检测结果,ture or false
*/
 function inject_check($sql_str) {
  return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str);    // 进行过滤
 }

全文阅读 »

Pages: 1 2 3 4 5 6 Next