PHP的分页处理技术和一些常用的技术

最近用PHP+MYSQL写了一个网上选课系统,对一些技术做一个简要的总结。

(说明:假设我的数据库名为mydatabase,其中有一个表mytable)

1.PHP怎么操纵MYSQL数据库?

步骤:<1>连接数据库

用mysql_connect()函数

用法:mysql_connect(主机名,mysql的账户,密码)

例:mysql_connect("localhost","root","123456")

<2>选择要操作的数据库

用mysql_select_db()函数

用法:mysql_select_db(数据库名)

例:mysql_select_db("mydatabase")

<3>定义sql语句

例:$sql="select * from mytable"

<4>执行sql语句

用mysql_query()函数

用法:mysql_query(sql语句)

例:$result=mysql_query($sql)

<5>提取数据

用mysql_fetch_array()函数

例:$row=mysql_fetch_array($result)

<6>然后就可以使用数据啦

例:$row["列名"]

2.分页显示技术怎么实现?(假设数据库已连接)

步骤:<1>定义sql语句

例:$sql="select * from mytable"

<2>执行sql语句

例:$result=mysql_query($sql)

<3>求从数据库中查询到的数据的行数

用mysql_num_rows()函数

例:$number=mysql_num_rows($result)

<4>自定义每页显示的数据行数

例:$pagesize=5

<5>求总页数

例:$pages=$number/$pagesize

<6>判断$page变量

例:if(isset($_GET['page']))

{

$page=$_GET['page'];

}

else

{

$page=1;

}

<7>重新定义sql语句并执行

例:$start=($page-1)*$pagesize;

$resultpage=mysql_query("select * from mytable limit $start,$pagesize");

<8>提取数据

例:$row=mysql_fetch_array($resultpage)

<9>输出数据

<10>显示分页链接

例:if($page!=1)

{

echo "<a href='?page=1'>首页 </a>";

$up_page=$page-1;

echo "<a href='?page=$up_page'>上一页 </a>";

}

if($page<$pages)

{

$down_page=$page+1;

echo "<a href='?page=$down_page'>下一页 </a>";

echo "<a href='?page=$pages'>尾页</a>";

}

3.怎么理解session和cookie?

session是基于服务器端的技术,cookie是基于客户端的技术;

从安全的角度来讲session比cookie更安全,但都有优劣,应把

两种技术结合起来使用。

下面重点说一下session的用法:首先要启动session,用session_start()函数,然后用$_SESSION

获取页面传递过来的值,就可以使用啦。若要注销session用session_destroy()函数,这在用户退出

操作的时候很常用。

另外提醒一点,有时用session会莫名奇妙的有警告:Cannot send session cache limiter - headers already sent...

不要慌,在session_start()前加@就解决啦。

4.如何解决mysql把中文显示为乱码的情况?

因为大多的浏览器都默认支持gb2312,所以就用gb2312,在数据库连接后设置mysql_query("SET NAMES GB2312");就行啦。

如果想要在Mysql Command line Client 正常显示中文,找到my.ini文件把default-character-set = utf8 改为

default-character-set =gb2312

就这么多啦!继续学习!