当前位置: 编程技术>php
本页文章导读:
▪初次接触php抽象工厂模式(Elgg)
想实现这样一个功能:开展一个网站邀请活动,然后参与者(owner)将推广的网站地址链接发给好友,好友点击链接后在网站注册成功,owner的邀请日志记录条数加1。 活动类 Activity 代码如下: .........
▪PHP5与MySQL数据库操作常用代码 收集
1 建立数据库表: 代码如下:create database club; create table member( id int(11) not null auto_increment, no varchar(5) not null, name varchar(10) not null, age int(2) not null, level varchar(10) not null, sex tinyint(1) not null, date dat.........
▪ajax+php打造进度条 readyState各状态
用Ajax+php打造进度条,其实很简单。 readyState == 状态(0,1,2,3,4) 0:请求未初始化,还没调用open 1:请求已经建立,但还没有发送,还没调用send 2:请求已发送,并且正在处理 3:请求正在处理,.........
[1]初次接触php抽象工厂模式(Elgg)
来源: 互联网 发布时间: 2013-11-30
想实现这样一个功能:开展一个网站邀请活动,然后参与者(owner)将推广的网站地址链接发给好友,好友点击链接后在网站注册成功,owner的邀请日志记录条数加1。
活动类 Activity
class Activity extends ElggEntity {
private $strategy; //用于保存策略实例
public function __construction($guid) {
...
$this->load($guid); //载入实体
}
public function addLog($data) {
$this->strategy->addLog($data); //实际是 DEFAULTActivityStrategy::addLog($data)
}
public function load ($guid) {
if (parent::load($guid)) { //此过程会将本实例的所有属性从数据库中赋值,因此 $this->strategyName的值已经被赋上了。
if ($this->strategyName != '') {
$this->strategy = AbstractActivityStrategy::getInstance($this->strategyName); //加载策略类
}
return true;
}
return false;
}
}
日志类 ActivityLog
class ActivityLog extends ElggEntity {
$private countValue; //邀请记录数
...
}
策略类
说明:ElggEntity:所有实体基类。AbstractActivityStrategy:活动抽象类
)首先创建一个活动:
$activity = new Activity();
$activity->name = 'KKND'; //活动名称
$activity->strategyName = 'DEFAULT'; //策略名称
$activity->save(); //将活动类保存至数据库,新添加的属性(比如strategyName)也会保存
)别人收到邀请,点击链接后,owner的邀请记录条目+1
比如邀请网址是 http://www.xinwusi.com/KKND/1234
其中/KKND/是活动名称,1234是owner的guid,假设该活动的guid为 8888,则
$activity = new Activity(8888); //获取活动实体
$activity->addLog($data); //添加邀请记录。$data包括owner的guid,活动的guid,活动名name等。
最后2行代码的过程,就是读取了该活动实体的策略名,并根据这个策略名生成一个策略实体,保存在自己的$stragety属性里,再调用其中的addLog方法增加日志记录。
以后有新活动的时候,直接把活动实例属性的策略名改了,就可以调用对应新策略中的方法了。
class DEFAULTActivityStrategy extends AbstractActivityStrategy {
...
public function addLog($data) {
$activityLog = new ActivityLog();
...
$activityLog->save();
$activityLogAmount = new ActivityLogAmount(); //计数类
...
$activityLogAmount->countValue += 1;
$activityLogAmount->save();
}
}
活动类 Activity
代码如下:
class Activity extends ElggEntity {
private $strategy; //用于保存策略实例
public function __construction($guid) {
...
$this->load($guid); //载入实体
}
public function addLog($data) {
$this->strategy->addLog($data); //实际是 DEFAULTActivityStrategy::addLog($data)
}
public function load ($guid) {
if (parent::load($guid)) { //此过程会将本实例的所有属性从数据库中赋值,因此 $this->strategyName的值已经被赋上了。
if ($this->strategyName != '') {
$this->strategy = AbstractActivityStrategy::getInstance($this->strategyName); //加载策略类
}
return true;
}
return false;
}
}
日志类 ActivityLog
代码如下:
class ActivityLog extends ElggEntity {
$private countValue; //邀请记录数
...
}
策略类
说明:ElggEntity:所有实体基类。AbstractActivityStrategy:活动抽象类
)首先创建一个活动:
代码如下:
$activity = new Activity();
$activity->name = 'KKND'; //活动名称
$activity->strategyName = 'DEFAULT'; //策略名称
$activity->save(); //将活动类保存至数据库,新添加的属性(比如strategyName)也会保存
)别人收到邀请,点击链接后,owner的邀请记录条目+1
比如邀请网址是 http://www.xinwusi.com/KKND/1234
其中/KKND/是活动名称,1234是owner的guid,假设该活动的guid为 8888,则
$activity = new Activity(8888); //获取活动实体
$activity->addLog($data); //添加邀请记录。$data包括owner的guid,活动的guid,活动名name等。
最后2行代码的过程,就是读取了该活动实体的策略名,并根据这个策略名生成一个策略实体,保存在自己的$stragety属性里,再调用其中的addLog方法增加日志记录。
以后有新活动的时候,直接把活动实例属性的策略名改了,就可以调用对应新策略中的方法了。
代码如下:
class DEFAULTActivityStrategy extends AbstractActivityStrategy {
...
public function addLog($data) {
$activityLog = new ActivityLog();
...
$activityLog->save();
$activityLogAmount = new ActivityLogAmount(); //计数类
...
$activityLogAmount->countValue += 1;
$activityLogAmount->save();
}
}
[2]PHP5与MySQL数据库操作常用代码 收集
来源: 互联网 发布时间: 2013-11-30
1 建立数据库表:
create database club;
create table member(
id int(11) not null auto_increment,
no varchar(5) not null,
name varchar(10) not null,
age int(2) not null,
level varchar(10) not null,
sex tinyint(1) not null,
date datetime not null,
primary key(id)
)engine=MyISAM default charset=GB2312;
insert into member(id,no,name,age,level,sex,date)values
(1,'A001','wanxia',30,'hj',1,'2008-04-02 00:00:00'),
(2,'C022','liyan',29,'zs',1,'2007-05-31 00:00:00'),
(3,'A006','zhangyan',36,'hj',1,'2007-06-20 00:00:00'),
(4,'B052','luanying',42,'bj',1,'2007-02-12 00:00:00'),
(5,'A007','duxiang',26,'hj',2,'2008-03-26 00:00:00'),
(6,'C060','liuyu',38,'zs',1,'2008-10-16 00:00:00');
2 读取数据
2.1 建立01.php
代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312"/>
<title>会员列表</title>
</head>
<?php
$link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set names utf8",$link); //设定编码方式
$sql="Select * from member";
$result=mysql_query($sql,$link); //执行select查询
$num=mysql_num_rows($result); //获取记录查询
?>
<body>
<h1>健身俱乐部 会员名册</h1>
<br />
点击姓名可查看该会员详细资料,现有会员<?php echo $num ?>人。
<br />
<?php
if($num>0)
{
?>
<table border="1" cellpadding="1" cellspacing="1">
<tr>
<td>序号</td>
<td>姓名</td>
<td>性别</td>
</tr>
<?php
while($row=mysql_fetch_array($result))
{
echo "<tr><td>".$row['id']."</td><td><a href=/blog_article/member/name/.html"
.$row['name'].">".$row['name']."</a></td><td>"
.($row['sex']==1?"女":"男")."</td></tr>";
}
?>
</table>
<?php
}
else
{
echo "俱乐部尚未发展会员。";
}
?>
</body>
</html>
2.2 建立member.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312"/>
<title>会员详细资料</title>
</head>
<?php
$link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set names utf8",$link); //设定编码方式
$sql="select no,name,sex,age,level,date_format(date,'%Y-%c-%d') as join_date from member "
."where name='".trim($_GET['name'])."'";
$result=mysql_query($sql,$link); //执行在select查询
?>
<body>
<h1>健身俱乐部 会员详细资料</h1>
<?php
if($row=mysql_fetch_array($result))
{
echo "编号:".$row['no']."<br />";
echo "姓名:".$row['name']."<br />";
echo "性别:".($row['sex']==1?"女":"男")."<br />";
echo "年龄:".$row['age']."<br />";
echo "级别:".$row['level']."<br />";
echo "加入:".$row['join_date']."<br />";
}
?>
</body>
</html>
3 修改数据
3.1 建立level.php(修改数据)
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312" />
<title>俱乐部优惠活动</title>
</head>
<body>
<h1>俱乐部会员统计表</h1>
<?php
$link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set name utf8",$link); //设定编码方式
$sql="Select level,count(*) as num from member group by level";
$result=mysql_query($sql,$link); //执行select查询
while($row=mysql_fetch_array($result))
{
switch($row['level']){
case 'bj':
echo "等级:白金会员 人数:".$row['num']."<br />";
break;
case 'hj':
echo "等级:黄金会员 人数:".$row['num']."<br />";
break;
default:
echo "等级:钻石会员 人数:".$row['num']."<br />";
}
}
?>
<form action="/blog_article/up_level.html" name="level" method="post">
会员优惠升级:从
<select name="old_level">
<option value="hj">黄金会员</option>
<option value="bj">白金会员</option>
</select>
升级至
<select name="new_level">
<option value="bj">白金会员</option>
<option value="zs">钻石会员</option>
</select>
<input type="submit" value="确定"/>
</form>
</body>
</html>
3.2 建立up_level.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312" />
<title>俱乐部优惠活动</title>
</head>
<body>
<?php
$link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set name utf8",$link); //设定编码方式
$sql="update member set level='".trim($_POST['new_level'])
."' where level='".trim($_POST['old_level'])."'";
$result=mysql_query($sql,$link); //执行select查询
echo mysql_affected_rows($link)."人 从";
switch(trim($_POST['old_level'])){
case 'bj':
echo " 白金会员 " ;
break;
case 'hj':
echo " 黄金会员 ";
break;
default:
echo " 钻石会员 ";
}
echo "成功升级到";
switch(trim($_POST['new_level'])){
case 'bj':
echo " 白金会员 " ;
break;
case 'hj':
echo " 黄金会员 ";
break;
default:
echo " 钻石会员 ";
}
?>
</body>
</html>
<html>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312"/>
<title>新增会员</title>
<body>
<h1>新加入会员</h1>
<form action="/blog_article/newmember.html" method="post" name="add_member">
编号:<input type="text" name="no" width="40"/><br />
姓名:<input type="text" name="name" width="40"/><br />
性别:
<input type="radio" name="sex" value="1" />女
<input type="radio" name="sex" value="2" />男<br />
年龄:<input type="text" name="age" width="40" /><br />
级别:
<select name="level">
<option value="hj">黄金会员</option>
<option value="bj">白金会员</option>
<option value="zs">钻石会员</option>
</select><br />
<input type="submit" value="确定" />
</form>
</body>
</html>
4.2 建立newmember.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312" />
<title>添加会员</title>
</head>
<body>
<?php
$link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set names GB2312",$link); //设定编码方式
$sql="Insert member(no,name,sex,age,level,date) values('"
.trim($_POST['no'])."','".trim($_POST['name'])."','"
.trim($_POST['sex'])."','".trim($_POST['age'])."','"
.trim($_POST['level'])."',now())";
$result=mysql_query($sql,$link); //执行select查询
$m_id=mysql_insert_id($link); //得到新插入会员记录的id
if(trim($_POST['level'])=="hj") //判断新会员优惠
{
$sql="Update member set level='bj' where id='".$m_id."'";
$result=mysql_query($sql,$link); //执行会员升级优惠
$text="已享受优惠升级至白金会员。";
}
$sql="Select *,date_format(date,'%Y-%c-%d') as join_date from member "
."where id='".$m_id."'";
$result=mysql_query($sql,$link); //执行select查询
if($row=mysql_fetch_array($result))
{
echo "新会员资料:<br />";
echo "编号:".$row['no']."<br />";
echo "姓名:".$row['name']."<br />";
echo "性别:".($row['sex']==1?"女":"男"."<br />");
echo "年龄:".$row['age']."<br />";
echo "级别:".$row['level']."<br />";
echo "加入:".$row['join_date']."<br />";
}
echo "新会员".$row['name']."添加成功".$text;
?>
</body>
</html>
<?php
class cls_mysql
{
protected $link_id;
function __construct($dbhost,$dbuser,$dbpw,$dbname='',$charset='GB2312')
{
if(!($this->link_id=mysql_connect($dbhost,$dbuser,$dbpw)))
{
$this->ErrorMsg("Can't pConnect MySQL Server($dbhost)!");
}
mysql_query("SET NAMES ".$charset,$this->link_id);
if($dbname)
{
if(mysql_select_db($dbname,$this->link_id)===false)
{
$this->ErrorMsg("Can't slect MYSQL database($dbname)!");
return false;
}
else
{
return true;
}
}
}
public function select_database($dbname)
{
return mysql_select_db($dbname,$this->link_id);
}
public function fetch_array($query,$result_type=MYSQL_ASSOC)
{
return mysql_fetch_array($query,$result_type);
}
public function query($sql)
{
return mysql_query($sql,$this->link_id);
}
public function affected_rows()
{
return mysql_affected_rows($this->link_id);
}
public function num_rows($query)
{
return mysql_num_rows($query);
}
public function insert_id()
{
return_insert_id($this->link_id);
}
public function selectLimit($sql,$num,$start=0)
{
if($start==0)
{
$sql.=' LIMIT '.$num;
}
else
{
$sql.=' LIMIT '.$start.', '.$num;
}
return $this->query($sql);
}
public function getOne($sql,$limited=false)
{
if($limited=true)
{
$sql=trim($sql.' LIMIT 1');
}
$res=$this->query($sql);
if($res!=false)
{
$row=mysql_fetch_row($res);
return $row[0];
}
else
{
return false;
}
}
public function getAll($sql)
{
$res=$this->query($sql);
if($res!==false)
{
$arr=array();
while($row=mysql_fetch_assoc($res))
{
$arr[]=$row;
}
return $arr;
}
else
{
return false;
}
}
function ErrorMsg($message='',$sql='')
{
if($message)
{
echo "<b> error info</b>:$message\n\n";
}
else
{
echo "<b>MySQL server error report:";
print_r($this->error_message);
}
exit;
}
}
?>
5.2 建立test.php
<?php
include("cls_mysql.php");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312" />
<title>Mysql类库测试</title>
</head>
<body>
<?php
$sql="Select * from member";
$db=new cls_mysql('localhost','root','123','club','GB2312');
$result=$db->selectLimit($sql,'3'); //从数据库中返回3个会员资料
if($result)
{
while($row=$db->fetch_array($result))
{
echo "会员编号: " .$row['no'].",姓名:".$row['name']."<br />";
}
}
?>
</body>
</html>
6 总结
6.1 mysql_connect():建立与MySQL服务器的连接
6.2 mysql_select_db():选择数据库
6.3 mysql_query():执行数据库查询
6.4 mysql_fetch_array():获取数据库记录
6.5 mysql_num_rows():获取查询得到的记录数
6.6 mysql_affected_rows():最近一次操作影响到的行数
6.7 mysql_insert_id():最近一次插入记录的ID值
代码如下:
create database club;
create table member(
id int(11) not null auto_increment,
no varchar(5) not null,
name varchar(10) not null,
age int(2) not null,
level varchar(10) not null,
sex tinyint(1) not null,
date datetime not null,
primary key(id)
)engine=MyISAM default charset=GB2312;
insert into member(id,no,name,age,level,sex,date)values
(1,'A001','wanxia',30,'hj',1,'2008-04-02 00:00:00'),
(2,'C022','liyan',29,'zs',1,'2007-05-31 00:00:00'),
(3,'A006','zhangyan',36,'hj',1,'2007-06-20 00:00:00'),
(4,'B052','luanying',42,'bj',1,'2007-02-12 00:00:00'),
(5,'A007','duxiang',26,'hj',2,'2008-03-26 00:00:00'),
(6,'C060','liuyu',38,'zs',1,'2008-10-16 00:00:00');
2 读取数据
2.1 建立01.php
代码
代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312"/>
<title>会员列表</title>
</head>
<?php
$link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set names utf8",$link); //设定编码方式
$sql="Select * from member";
$result=mysql_query($sql,$link); //执行select查询
$num=mysql_num_rows($result); //获取记录查询
?>
<body>
<h1>健身俱乐部 会员名册</h1>
<br />
点击姓名可查看该会员详细资料,现有会员<?php echo $num ?>人。
<br />
<?php
if($num>0)
{
?>
<table border="1" cellpadding="1" cellspacing="1">
<tr>
<td>序号</td>
<td>姓名</td>
<td>性别</td>
</tr>
<?php
while($row=mysql_fetch_array($result))
{
echo "<tr><td>".$row['id']."</td><td><a href=/blog_article/member/name/.html"
.$row['name'].">".$row['name']."</a></td><td>"
.($row['sex']==1?"女":"男")."</td></tr>";
}
?>
</table>
<?php
}
else
{
echo "俱乐部尚未发展会员。";
}
?>
</body>
</html>
2.2 建立member.php
代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312"/>
<title>会员详细资料</title>
</head>
<?php
$link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set names utf8",$link); //设定编码方式
$sql="select no,name,sex,age,level,date_format(date,'%Y-%c-%d') as join_date from member "
."where name='".trim($_GET['name'])."'";
$result=mysql_query($sql,$link); //执行在select查询
?>
<body>
<h1>健身俱乐部 会员详细资料</h1>
<?php
if($row=mysql_fetch_array($result))
{
echo "编号:".$row['no']."<br />";
echo "姓名:".$row['name']."<br />";
echo "性别:".($row['sex']==1?"女":"男")."<br />";
echo "年龄:".$row['age']."<br />";
echo "级别:".$row['level']."<br />";
echo "加入:".$row['join_date']."<br />";
}
?>
</body>
</html>
3 修改数据
3.1 建立level.php(修改数据)
代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312" />
<title>俱乐部优惠活动</title>
</head>
<body>
<h1>俱乐部会员统计表</h1>
<?php
$link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set name utf8",$link); //设定编码方式
$sql="Select level,count(*) as num from member group by level";
$result=mysql_query($sql,$link); //执行select查询
while($row=mysql_fetch_array($result))
{
switch($row['level']){
case 'bj':
echo "等级:白金会员 人数:".$row['num']."<br />";
break;
case 'hj':
echo "等级:黄金会员 人数:".$row['num']."<br />";
break;
default:
echo "等级:钻石会员 人数:".$row['num']."<br />";
}
}
?>
<form action="/blog_article/up_level.html" name="level" method="post">
会员优惠升级:从
<select name="old_level">
<option value="hj">黄金会员</option>
<option value="bj">白金会员</option>
</select>
升级至
<select name="new_level">
<option value="bj">白金会员</option>
<option value="zs">钻石会员</option>
</select>
<input type="submit" value="确定"/>
</form>
</body>
</html>
3.2 建立up_level.php
代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312" />
<title>俱乐部优惠活动</title>
</head>
<body>
<?php
$link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set name utf8",$link); //设定编码方式
$sql="update member set level='".trim($_POST['new_level'])
."' where level='".trim($_POST['old_level'])."'";
$result=mysql_query($sql,$link); //执行select查询
echo mysql_affected_rows($link)."人 从";
switch(trim($_POST['old_level'])){
case 'bj':
echo " 白金会员 " ;
break;
case 'hj':
echo " 黄金会员 ";
break;
default:
echo " 钻石会员 ";
}
echo "成功升级到";
switch(trim($_POST['new_level'])){
case 'bj':
echo " 白金会员 " ;
break;
case 'hj':
echo " 黄金会员 ";
break;
default:
echo " 钻石会员 ";
}
?>
</body>
</html>
4 添加数据
4.1 建立add_member.php
代码如下:
<html>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312"/>
<title>新增会员</title>
<body>
<h1>新加入会员</h1>
<form action="/blog_article/newmember.html" method="post" name="add_member">
编号:<input type="text" name="no" width="40"/><br />
姓名:<input type="text" name="name" width="40"/><br />
性别:
<input type="radio" name="sex" value="1" />女
<input type="radio" name="sex" value="2" />男<br />
年龄:<input type="text" name="age" width="40" /><br />
级别:
<select name="level">
<option value="hj">黄金会员</option>
<option value="bj">白金会员</option>
<option value="zs">钻石会员</option>
</select><br />
<input type="submit" value="确定" />
</form>
</body>
</html>
4.2 建立newmember.php
代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312" />
<title>添加会员</title>
</head>
<body>
<?php
$link=mysql_connect("localhost","root","123"); //连接mysql服务器
$db=mysql_select_db("club"); //选择数据库
mysql_query("set names GB2312",$link); //设定编码方式
$sql="Insert member(no,name,sex,age,level,date) values('"
.trim($_POST['no'])."','".trim($_POST['name'])."','"
.trim($_POST['sex'])."','".trim($_POST['age'])."','"
.trim($_POST['level'])."',now())";
$result=mysql_query($sql,$link); //执行select查询
$m_id=mysql_insert_id($link); //得到新插入会员记录的id
if(trim($_POST['level'])=="hj") //判断新会员优惠
{
$sql="Update member set level='bj' where id='".$m_id."'";
$result=mysql_query($sql,$link); //执行会员升级优惠
$text="已享受优惠升级至白金会员。";
}
$sql="Select *,date_format(date,'%Y-%c-%d') as join_date from member "
."where id='".$m_id."'";
$result=mysql_query($sql,$link); //执行select查询
if($row=mysql_fetch_array($result))
{
echo "新会员资料:<br />";
echo "编号:".$row['no']."<br />";
echo "姓名:".$row['name']."<br />";
echo "性别:".($row['sex']==1?"女":"男"."<br />");
echo "年龄:".$row['age']."<br />";
echo "级别:".$row['level']."<br />";
echo "加入:".$row['join_date']."<br />";
}
echo "新会员".$row['name']."添加成功".$text;
?>
</body>
</html>
5 创建类数据库连接
5.1 建立cls_mysql.php类文件
代码如下:
<?php
class cls_mysql
{
protected $link_id;
function __construct($dbhost,$dbuser,$dbpw,$dbname='',$charset='GB2312')
{
if(!($this->link_id=mysql_connect($dbhost,$dbuser,$dbpw)))
{
$this->ErrorMsg("Can't pConnect MySQL Server($dbhost)!");
}
mysql_query("SET NAMES ".$charset,$this->link_id);
if($dbname)
{
if(mysql_select_db($dbname,$this->link_id)===false)
{
$this->ErrorMsg("Can't slect MYSQL database($dbname)!");
return false;
}
else
{
return true;
}
}
}
public function select_database($dbname)
{
return mysql_select_db($dbname,$this->link_id);
}
public function fetch_array($query,$result_type=MYSQL_ASSOC)
{
return mysql_fetch_array($query,$result_type);
}
public function query($sql)
{
return mysql_query($sql,$this->link_id);
}
public function affected_rows()
{
return mysql_affected_rows($this->link_id);
}
public function num_rows($query)
{
return mysql_num_rows($query);
}
public function insert_id()
{
return_insert_id($this->link_id);
}
public function selectLimit($sql,$num,$start=0)
{
if($start==0)
{
$sql.=' LIMIT '.$num;
}
else
{
$sql.=' LIMIT '.$start.', '.$num;
}
return $this->query($sql);
}
public function getOne($sql,$limited=false)
{
if($limited=true)
{
$sql=trim($sql.' LIMIT 1');
}
$res=$this->query($sql);
if($res!=false)
{
$row=mysql_fetch_row($res);
return $row[0];
}
else
{
return false;
}
}
public function getAll($sql)
{
$res=$this->query($sql);
if($res!==false)
{
$arr=array();
while($row=mysql_fetch_assoc($res))
{
$arr[]=$row;
}
return $arr;
}
else
{
return false;
}
}
function ErrorMsg($message='',$sql='')
{
if($message)
{
echo "<b> error info</b>:$message\n\n";
}
else
{
echo "<b>MySQL server error report:";
print_r($this->error_message);
}
exit;
}
}
?>
5.2 建立test.php
代码如下:
<?php
include("cls_mysql.php");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=GB2312" />
<title>Mysql类库测试</title>
</head>
<body>
<?php
$sql="Select * from member";
$db=new cls_mysql('localhost','root','123','club','GB2312');
$result=$db->selectLimit($sql,'3'); //从数据库中返回3个会员资料
if($result)
{
while($row=$db->fetch_array($result))
{
echo "会员编号: " .$row['no'].",姓名:".$row['name']."<br />";
}
}
?>
</body>
</html>
6 总结
6.1 mysql_connect():建立与MySQL服务器的连接
6.2 mysql_select_db():选择数据库
6.3 mysql_query():执行数据库查询
6.4 mysql_fetch_array():获取数据库记录
6.5 mysql_num_rows():获取查询得到的记录数
6.6 mysql_affected_rows():最近一次操作影响到的行数
6.7 mysql_insert_id():最近一次插入记录的ID值
[3]ajax+php打造进度条 readyState各状态
来源: 互联网 发布时间: 2013-11-30
用Ajax+php打造进度条,其实很简单。
readyState == 状态(0,1,2,3,4)
0:请求未初始化,还没调用open
1:请求已经建立,但还没有发送,还没调用send
2:请求已发送,并且正在处理
3:请求正在处理,通常响应中已有部分数据可调用
4:完毕
var xmlHttp;
function create()
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();//非IE浏览器
}
}
function Request(url)
{
xmlHttp.open("GET","for.php?id="+url,true);//true是异步传输
xmlHttp.onreadystatechange = ip985;//响应函数
xmlHttp.send(null);
}
function ip985()
{
if(xmlHttp.readyState==1)
{
document.getElementById('IP985').innerHTML = "请求已建立,准备发送……"; //IP985标志位
}
if(xmlHttp.readyState==4)
{
var v = xmlHttp.responseText;//获取内容
document.getElementById('ip985').innerHTML = v;//目标网页内容
}
}
readyState == 状态(0,1,2,3,4)
0:请求未初始化,还没调用open
1:请求已经建立,但还没有发送,还没调用send
2:请求已发送,并且正在处理
3:请求正在处理,通常响应中已有部分数据可调用
4:完毕
代码如下:
var xmlHttp;
function create()
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();//非IE浏览器
}
}
function Request(url)
{
xmlHttp.open("GET","for.php?id="+url,true);//true是异步传输
xmlHttp.onreadystatechange = ip985;//响应函数
xmlHttp.send(null);
}
function ip985()
{
if(xmlHttp.readyState==1)
{
document.getElementById('IP985').innerHTML = "请求已建立,准备发送……"; //IP985标志位
}
if(xmlHttp.readyState==4)
{
var v = xmlHttp.responseText;//获取内容
document.getElementById('ip985').innerHTML = v;//目标网页内容
}
}
最新技术文章: