走过平凡人生、留下平凡足迹 注册 | 登陆
浏览模式: 标准 | 列表分类:PHP

php树形结构的算法

在PHP的应用中,提供后台数据存储的通常是关系型数据库,它能够保存大量的数据,提供高效的数据检索和更新服务。然而关系型数据的基本形式是纵横交错的表,是一个平面的结构,如果要将多级树状结构存储在关系型数据库里就需要进行合理的翻译工作。接下来我会将自己的所见所闻和一些实用的经验和大家探讨一下。

层级结构的数据保存在平面的数据库中基本上有两种常用设计方法:

毗邻目录模式(adjacency list model)
预排序遍历树算法(modified preorder tree traversal algorithm)

» 阅读全文

Tags: php, 算法

自定义SESSION(二)——数据库保存

这里打算使用数据库来保存session,应该说用数据库来保存是更加有效而且更方便共享的一种方法。

  首先,说明下session_set_save_handler()里面的每个函数。
记住一点:session数据都是在你的代码运行完后才写入代码的


<?function open($save_path$session_name
{
  
//打开session文件,用来设计保存路径,一般直接return true 就好了
  //在session_start()中会调用到。
}

function 
close
() 
{
   
//关闭session连接
}

function 
read($id

{
  
//读取session数据,在session_start()中调用。
}

function 
write($id$sess_data

{
  
//写session到文件或者数据库
  //记住$_SESSION['var']='test'这种对session赋值并不调用该方法。该方法是在代码结束后或者调用session_write_close()调用的时候才运行的。
}

function 
destroy($id

{
    
//注销session,删除一条session记录
}

function 
gc($maxlifetime

{
    
//删除过时的session记录
 
}
?>

» 阅读全文

Tags: php, session, 数据库, mysql

自定义SESSION(一)——文件

1、按默认方式测试。
 推荐先把SESSION手册上的函数看看。
 首先修改php.ini文件中的一些配置,把session.save_path修改下,方便调式。比如我修改成“E:/PCTI/TMP”。保存重启apache
 书写测试文件test.php


<?
error_reporting
(E^ALL
);
session_start
();
$_SESSION['username']='test'
;
?>
<a href='next.php'>next</a>

» 阅读全文

Tags: php, session

Windows下 Apache+PHP5+MYSQL5+phpmyadmin 规范安装

装PHP规范的安装不仅让程序运行酶游榷ê桶踩?而且还给程序的升级管理带来更大的方便和自由.

    很多人学习装PHP+Mysql的时候,都把php.ini和libmysql.dll拷到系统目录下,有的是从PHP4转过来,把更多的东西拷到系统目 录里去.官方说,这是一种不安全的,不好的安装方法.什么装不把把一些东西拷到系统目录,但又能使系统找到我们的配置文件呢?就是path了

    如果你已经安装了无数次PHP,但是你还是把php.ini和libmysql.dll或更多文件拷到系统里去,你看一下第7点不会浪费你的时间.如果你是第一次装PHP,恭喜你,走下来一遍你就轻松的,正确的掌握了传说中极度难迈过的PHP环境配置

» 阅读全文

Tags: php, 环境, 配置, 安装

配置Editplus的PHP调试环境

加入php手册
1.1 打开Editplus进入菜单 [Tools] (工具)-> [Configure User Tools...](配置用户工具)
1.2 点击按钮 [Add Tool] (添加工具)选择 [HTML Help File (*.chm)].(html帮助文件)
1.3 然后按图 1.jpg 的参数配置, 其中的 [File Name] 就是PHP官方下载的中文手册文件
1.4 在打开的PHP文件中把光标移到需要查询的函数上面, 按 ctrl + 1 (因为我把"php 手册"摆在 User Tools 的第一项, 第二项就是 Ctrl + 2, 以此类推), 这样就会打开PHP中文手册并自动定位到该函数的说明页面, 如果找不到该函数(比如函数名输入错误), 则直接跳到手册的索引页

» 阅读全文

Tags: php, 环境, 配置

php对gb编码动态转utf-8编码的几种方法

在《IP地址->地理位置转换的测评》一文中提到用ip2addr函数直接读取IP数据库文件是效率最高的,相比用MySQL(和PHP搭配之最佳组合)数据库存储IP数据,用SQL查询是效率最低的。但是IP数据库文件QQWry.dat是GB2312编码的。现在我需要UTF-8编码的地理位置结果。如果用MySQL(和PHP搭配之最佳组合)方法,可以在数据存入数据库时就转换为UTF-8编码,一劳永逸。但是QQWry.dat文件又无法修改,只能把ip2addr函数的输出结果再进行动态转换。

动态转换GB->UTF-8编码至少有四种方法:

» 阅读全文

Tags: php

在线技术手册集锦

Tags: php, 技巧, 教程, 手册

PHP购物车类

class TCart
{

  var $SortCount;            //商品种类数
  var $TotalCost;            //商品总价值

  var $Id;                   //每类商品的ID(数组)
  var $Name;                 //每类商品的名称(数组)
  var $Price;                //每类商品的价格(数组)
  var $Discount;             //商品的折扣(数组)
  var $GoodPrice ;           //商品的优惠价格(数组)
  var $Count;                //每类商品的件数(数组)
  var $MaxCount ;            //商品限量(数组)

» 阅读全文

Tags: php, 技巧, 教程

Records:3812345