博文

[置顶] php面象对象数据库操作类(2007-09-30 17:16:00)

摘要:<?php
//*******************************************************************
//此处构造一个数据库操作类,封装所有数据库操作
//可以扩展便于后台管理程序的使用
Class MySQLDB
{
   var $host;
   var $user;
   var $passwd;
   var $database;
   var $conn;    //利用构造函数实现变量初始化
   //同时连接数据库操作
   function MySQLDB($host,$user,$password,$database)
   {
      $this->host = $host;
      $this->user = $user;
      $this->passwd = $password;
      $this->database = $database;
      $this->conn=mysql_connect($this->host, $this->user,$this->passwd) or
     die("Could not connect to $this->host");
      mysql_select_db($this->database,$this->conn) or
     ......

阅读全文(1993) | 评论:0

自定义php分页函数(2007-09-30 17:18:00)

摘要:每次编写列表性质的页面,几乎都要写上一段分页的程序。最近终于决心一劳永逸——自定义一个分页函数,并保存在“pageft.php”文件里。要用到分页的地方,就直接包含“pageft.php”文件,并调用这个函数就行了。编写这个函数时,尽量注意了程序的可移植性和易用性,下面就是这个函数: <?
//为了避免重复包含文件而造成错误,加了判断函数是否存在的条件:
if(!function_exists(pageft)){
//定义函数pageft(),三个参数的含义为:
//$totle:信息总数;
//$displaypg:每页显示信息数,这里设置为默认是20;
//$url:分页导航中的链接,除了加入不同的查询信息“page”外的部分都与这个URL相同。
//   默认值本该设为本页URL(即$_SERVER["REQUEST_URI"]),但设置默认值的右边只能为常量,所以该默认值设为空字符串,在函数内部再设置为本页URL。
function pageft($totle,$displaypg=20,$url=''){ //定义几个全局变量:
//$page:当前页码;
//$firstcount:(数据库)查询的起始项;
//$pagenav:页面导航条代码,函数内部并没有将它输出;
//$_SERVER:读取本页URL“$_SERVER["REQUEST_URI"]”所必须。
global $page,$firstcount,$pagenav,$_SERVER; //为使函数外部可以访问这里的“$displaypg”,将它也设为全局变量。注意一个变量重新定义为全局变量后,原值被覆盖,所以这里给它重新赋值。
$GLOBALS["displaypg"]=$displaypg; if(!$page) $page=1; //如果$url使用默认,即空值,则赋值为本页URL:
if(!$url){ $url=$_SERVER["REQUEST_URI"];} //URL分析:
$parse_url=parse_url($url);
$url_query=$parse_url["query"]; //单独取出URL的查询字串
if($url_quer......

阅读全文(1866) | 评论:0

PHP生成Excel(2007-09-26 08:53:00)

摘要:<?php 
ob_start(); 
define("FILETYPE","xls"); 

header("Content-type:application/vnd.ms-excel"); 
if(FILETYPE=="xls") 
header("Content-Disposition:filename=report.xls"); 
else 
header("Content-Disposition:filename=report.csv"); 


echo "姓名\t年龄\t性别\n"; 
//echo "efg\t\hij\t\n"; 
echo "张三\t25\tmale"; 
echo "\n李四\t27\tmale"; 
echo "\n王五\t20\tfemale"; 
?> 
......

阅读全文(3130) | 评论:0

phpmyadmin显示乱码的问题(2007-09-26 08:52:00)

摘要:修改phpmyadmin里libraries/select_lang.lib.php

'zh-gb2312'         => array('zh|chinese simplified', 'chinese_simplified-gb2312', 'zh', '中文'),
改为
'zh-gb2312-utf-8'         => array('zh|chinese simplified', 'chinese_simplified-gb2312', 'zh', '中文'),


'gb2312'       => 'gb2312',
改为
'gb2312'       => 'latin1',

'utf-8'        => 'utf-8,
改为
'utf-8'        => 'latin1',

然后在phpmyadmin里language选择时选择上面那个 中文
......

阅读全文(3459) | 评论:0

用PHP5轻松解析XML(2007-09-20 13:58:00)

摘要:用 sax 方式的时候,要自己构建3个函数,而且要直接用这三的函数来返回数据,要求较强的逻辑。在处理不同结构的 xml 的时候,还要重新进行构造这三个函数,麻烦! 用 dom 方式,倒是好些,但是他把每个节点都看作是一个 node,,操作起来要写好多的代码,麻烦! 网上有好多的开源的 xml 解析的类库,以前看过几个,但是心里总是觉得不踏实,感觉总是跟在别人的屁股后面。 这几天在搞 Java,挺累的,所以决定换换脑袋,写点 PHP 代码,为了防止以后 XML 解析过程再令我犯难,就花了一天的时间写了下面一个 XML 解析的类,于是就有了下面的东西。 实现方式是通过包装“sax方式的解析结果”来实现的。总的来说,对于我个人来说挺实用的,性能也还可以,基本上可以完成大多数的处理要求。 功能:
1\ 对基本的 XML 文件的节点进行 查询 / 添加 / 修改 / 删除 工作。
2\ 导出 XML 文件的所有数据到一个数组里面。
3\ 整个设计采用了 OO 方式,在操作结果集的时候,使用方法类似于 dom 缺点:
1\ 每个节点最好都带有一个id(看后面的例子),每个“节点名字”=“节点的标签_节点的id”,如果这个 id 值没有设置,程序将自动给他产生一个 id,这个 id 就是这个节点在他的上级节点中的位置编号,从 0 开始。
2\ 查询某个节点的时候可以通过用“|”符号连接“节点名字”来进行。这些“节点名字”都是按顺序写好的上级节点的名字。 使用说明:
运行下面的例子,在执行结果页面上可以看到函数的使用说明
代码是通过 PHP5 来实现的,在 PHP4 中无法正常运行。 由于刚刚写完,所以没有整理文档,下面的例子演示的只是一部分的功能,代码不是很难,要是想知道更多的功能,可以研究研究源代码。 目录结构: test.php
test.xml
xml / SimpleDocumentBase.php
xml / SimpleDocumentNode.php
xml / SimpleDocumentRoot.php
xml / SimpleDocumentParser.php 文件:test.xml
<?xml version="1.0" en......

阅读全文(4198) | 评论:0