1、创建新闻发布系统,库名为cms,表名为article,有如下字段,写出创建表的命令?
Id 文章id
Title 文章标题
Content 文章内容
Category_id 文章分类id
Dateline 时间
set names gbk;
create database cms character set utf8;
use cms;
create table article (
id int primary key auto_increment,#文章id
title varchar(30),#文章标题
content varchar(20),#文章内容
category_id int,#文章分类ID
datetime date#时间
);
2、写一个操作mysql的类,类名为mysqlDB,类中有连接数据库方法connect()和返回数据库查询结果的二维数组的方法getAll();
mysqlDB.class.php
//数据库封装类
classmysqlDB
{
public$conn = NULL;//连接对象
public$rs = NULL;//结果集对象
//连接数据库
private function__construct()
{
$this->conn = mysql_connect("localhost","name","password");
mysql_query("set names utf8");
mysql_select_db("database");
}
//防止克隆对象
private function__clone()
{}
//获得该类的对象(单例模式的)
public static functiongetInstance()
{
static$obj = NULL;
if($obj == NULL)
{
$obj = newmysqlDB();
}
return$obj;
}
//执行select语句,返回:二维数组
public functiongetAll($sql)
{
$result = array();//存储所有记录
$this->rs = mysql_query($sql);
while($row = mysql_fetch_array($this->rs))
{
$result[] = $row;
}
return$result;
}
//执行select语句,返回:一维关联数组
public functiongetRow($sql)
{
$result = NULL;//存储一条记录
$this->rs = mysql_query($sql);
if($row = mysql_fetch_array($this->rs))
{
$result = $row;
}
return$result;
}
//执行insert、update、delete语句,返回:受影响的行数
public functionexec($sql)
{
mysql_query($sql);
$result = mysql_affected_rows($this->conn);
return$result;
}
//释放结果集
public functionfreeResult()
{
mysql_free_result($this->rs);
}
//关闭数据库
public functionclose()
{
mysql_close($this->conn);
}
}
?>
3、用第一题中的表和第二题中的类写出如下操作:显示点击量最多的10条新闻的标题和发布时间。
insert into article values(' ','标题1','内容1','文章分类ID1',now());
insert into article values(' ','标题2','内容2','文章分类ID2',now());
insert into article values(' ','标题3','内容3','文章分类ID3',now());
insert into article values(' ','标题4','内容4','文章分类ID4',now());
insert into article values(' ','标题5','内容5','文章分类ID5',now());
insert into article values(' ','标题6','内容6','文章分类ID6',now());
insert into article values(' ','标题7','内容7','文章分类ID7',now());
insert into article values(' ','标题8','内容8','文章分类ID8',now());
insert into article values(' ','标题9','内容9','文章分类ID9',now());
insert into article values(' ','标题10','内容10','文章分类ID10',now());
insert into article values(' ','标题11','内容11','文章分类ID11',now());
insert into article values(' ','标题12','内容12','文章分类ID12',now());
insert into article values(' ','标题13','内容13','文章分类ID13',now());
select * from article;
header("content-type:text/html;charset=utf-8");
include_once'mysqlDB.class.php';
$sql = "select title,datetime from article limit 10";
$conn = mysqlDB::getInstance();
$result = $conn->getAll($sql);
?>
Insert title here标题 | 时间 |
foreach($result as$v){
?>
<?php echo$v['title']?><?php echo$v['datetime']?>}
?>
4、如果要把article表分成多个表,写出你的大体思路。
create table table2 select * from table1 order by id limit 1,100
create table table3 select * from table1 order by id limit 100,100
create table table4 select * from table1 order by id limit 200,100
5、请写一个函数验证电子邮件的格式是否正确。
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?