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=member.php?name="
- .$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="up_level.php" 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="newmember.php" 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值
|
上一篇: PHP一步一步学习(8) PHP 数组下一篇: PHP中基本符号及使用方法
|