最近*写php,被搞的很郁闷,函数的返回值也不指定,变量的随意性太强,造成调试比较麻烦,oo也不是很好,但是写起来其实比较灵活,上手也比较容易。以后写php也不错哦。
下面是分页类和一个数据库的类。
php 分页类

Code
1
<?php
2
//检查文件是否已加载
3
if(!function_exists(pageft)){
4
//定义函数$totle为数据总量,$displaypg为每页显示数
5
function pageft($totle,$displaypg,$url=''){
6
7
global $page,$firstcount,$pagenav,$_SERVER;
8
9
$GLOBALS["displaypg"]=$displaypg;
10
//用$_GET来接受页参数
11
if (isset($_GET['page'])){
12
$page=intval($_GET['page']);
13
}else{
14
$page=1;
15
}
16
//$_SERVER["REQUEST_URI"]访问此页面的URI(路径)
17
if(!$url){ $url=$_SERVER["REQUEST_URI"];}
18
//解析URI,获得数组形式传送给$parse_url
19
$parse_url=parse_url($url);
20
//$parse_url["query"],获得?后的变量
21
$url_query=$parse_url["query"];
22
23
if($url_query){
24
$url_query=ereg_replace("(^|&)page=$page","",$url_query);
25
26
27
$url=str_replace($parse_url["query"],$url_query,$url);
28
29
//在URL后加page查询信息,但待赋值:
30
if($url_query) $url.="&page"; else $url.="page";
31
}else {
32
$url.="?page";
33
}
34
35
$lastpg=ceil($totle/$displaypg); //最下一页,也是总页数
36
$page=min($lastpg,$page);
37
$prepg=$page-1; //上一页
38
$nextpg=($page==$lastpg ? 0 : $page+1); //下一页
39
$firstcount=($page-1)*$displaypg;
40
41
//开始分页导航条代码:
42
/*
43
$pagenav="显示第 <B>;".($totle?($firstcount+1):0)."</B>;-<B>;".min($firstcount+$displaypg,$totle)."</B>; 条记录,共 $totle 条记录";*/
44
//如果只有一页则跳出函数:
45
if($lastpg<=1) return false;
46
47
if ($page==1) $pagenav.="<font color=#999999>首页 | </font>"; else $pagenav.="<a href='$url=1'>首页</a> | ";
48
if($prepg) $pagenav.="<a href='$url=$prepg'>上一页</a> | "; else $pagenav.="<font color=#999999>上一页 | </font>";
49
if($nextpg) $pagenav.="<a href='$url=$nextpg'>下一页</a> | "; else $pagenav.=" <font color=#999999>下一页 | </font>";
50
if ($page==$lastpg) $pagenav.="<font color=#999999>末页 | </font>" ; else $pagenav.="<a href='$url=$lastpg'>末页</a> | ";
51
52
//下拉跳转列表,循环列出所有页码:
53
$pagenav.="转到第<select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>;\n";
54
for($i=1;$i<=$lastpg;$i++){
55
if($i==$page) $pagenav.="<option value='$i' selected>$i</option>\n";
56
else $pagenav.="<option value='$i'>$i</option>\n";
57
}
58
$pagenav.="</select>页 ($page/$lastpg 页)";
59
}
60
}
61
?>

Code
1
<?php
2
class db_Mysql
3
{
4
5
var $dbServer;
6
var $dbDatabase;
7
var $dbbase;
8
var $dbUser;
9
var $dbPwd;
10
var $dbLink;
11
var $result;// 执行query命令的指针
12
var $num_rows;// 返回的条目数
13
var $insert_id;// 传回最后一次使用 INSERT 指令的 ID
14
var $affected_rows;// 传回query命令所影响的列数目
15
16
function dbconnect()
17
{
18
$this->dbLink=@mysql_connect($this->dbServer,$this->dbUser,$this->dbPwd);
19
if(!$this->dbLink) $this->dbhalt("不能连接数据库!");
20
if($this->dbbase=="") $this->dbbase=$this->dbDatabase;
21
if(!@mysql_select_db($this->dbbase,$this->dbLink))
22
$this->dbhalt("数据库不可用!");
23
mysql_query("SET NAMES 'gbk'");
24
}
25
26
function execute($sql)
27
{
28
$this->result=mysql_query($sql);
29
return $this->result;
30
}
31
32
function fetch_array($result)
33
{
34
return mysql_fetch_array($result);
35
}
36
37
function get_rows($sql)
38
{
39
return mysql_num_rows(mysql_query($sql));
40
}
41
42
function num_rows($result)
43
{
44
return mysql_num_rows($result);
45
}
46
47
function data_seek($result,$rowNumber)
48
{
49
return mysql_data_seek($result,$rowNumber);
50
}
51
52
function dbhalt($errmsg)
53
{
54
$msg="database is wrong!";
55
$msg=$errmsg;
56
echo"$msg";
57
die();
58
}
59
60
function delete($sql){
61
$result=$this->execute($sql,$dbbase);
62
$this->affected_rows=mysql_affected_rows($this->dbLink);
63
$this->free_result($result);
64
return $this->affected_rows;
65
}
66
67
function insert($sql){
68
$result=$this->execute($sql,$dbbase);
69
$this->insert_id=mysql_insert_id($this->dbLink);
70
$this->free_result($result);
71
return $this->insert_id;
72
}
73
74
function update($sql)
75
{
76
$result=$this->execute($sql,$dbbase);
77
$this->affected_rows=mysql_affected_rows($this->dbLink);
78
$this->free_result($result);
79
return $this->affected_rows;
80
}
81
82
function get_num($result)
83
{
84
$num=@mysql_numrows($result);
85
return $num;
86
}
87
//释放所有与结果标识符 result 所关联的内存
88
function free_result($result)
89
{
90
@mysql_free_result($result);
91
}
92
93
function dbclose()
94
{
95
mysql_close($this->dbLink);
96
}
97
98
}// end class
99
?>
测试过都是可以用滴,已经在第一个程序中使用了。