Created
October 19, 2012 08:12
-
-
Save Megic/3916884 to your computer and use it in GitHub Desktop.
PHP:SQL&page
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //Mysql | |
| ***********创建表************ | |
| create table `news`( | |
| `id` int(10) NOT NULL auto_increment, | |
| `title` varchar(200) NOT NULL, | |
| `date` date NOT NULL, | |
| `text` text, | |
| unique(`title`), | |
| primary key (`id`) | |
| )engine=innoDB default charset=utf8; | |
| ********************** | |
| insert into `news` (`title`,`date`,`text`) values('标题1',now(),'标题1内容'),('标题2',now(),'标题2内容'),('标题3',now(),'标题3内容'),('标题4',now(),'标题4内容') | |
| 初始化内容,用于测试 | |
| ********************** | |
| 1、SELECT 查询语句和条件语句 | |
| //2、排序,分组,指针查询,计算 | |
| 3、Insert 插入语句 | |
| 4、Update 更新语句 | |
| 5、Delete 删除语句 | |
| SELECT 查询字段 FROM 表名 WHERE 条件 | |
| *****查询字段:可以使用通配符* 、字段名、字段别名***********表名: 数据库.表名 ,表名 | |
| ******常用条件: = 等于 、<>不等于、in 包含 、 not in 不包含、 like 匹配 | |
| BETWEEN 在范围 、 not BETWEEN 不在范围 < 、> | |
| ************like not like************ | |
| %任意个字符;_仅替代一个字符;[charlist]字符列中的任何单一字符;[^charlist]或者[!charlist]不在字符列中的任何单一字符; | |
| *******条件运算: and 、 or 、 ( ) ************* | |
| 分组语句:group by 字段 | |
| 排序语句:order by 字段,字段 ASC / DESC | |
| 指针查询:limit 初始值,结束值 | |
| ******************************************************** | |
| 计算: | |
| ******************** | |
| COUNT(*) 统计函数 | |
| MAX(*) 最大值函数 | |
| MIN (*) 最小值函数 | |
| AVG(*) 平均值函数 | |
| SUM(*) 累计值函数(∑) | |
| *************************************** | |
| insert into 表名 (字段…,…) values(值…,…) | |
| insert into 表名 values(值…,…)//需要严格对应数据库 | |
| *************************************** | |
| UPDATE 表名 SET 字段 = 值 WHERE 条件 limit | |
| //条件和select一样 | |
| ************************************** | |
| DELETE FROM 表名 WHERE 条件 limit | |
| //条件和select一样 | |
| ************************************************华丽的分隔线**************************************************** | |
| //数据库连接 | |
| $conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误"); | |
| mysql_select_db("bbs", $conn); | |
| mysql_query("set names 'UTF8'"); //使用UTF-8编码; | |
| mysql_close($conn);//关闭连接 | |
| mysql_query(SQL语句或命令) //返回资源 | |
| mysql_fetch_array(资源数据) //返回下标与键名数组 | |
| mysql_fetch_row(资源数据) //返回下标数组 | |
| mysql_fetch_object(资源数据) //返回对象形式调用 | |
| mysql_num_rows(资源数据) //返回信息数 | |
| **************************************************************************** | |
| //php分页 | |
| parse_url(); | |
| $ua=parse_url("http://username:password@hostname/path?arg=value#anchor"); | |
| print_r($ua); | |
| **************************** | |
| $_SERVER["REQUEST_URI"]; | |
| 分页公式: | |
| (当前页数 - 1 )X 每页条数 , 每页条数 | |
| Select * from table limit ($Page- 1) * $PageSize, $PageSize | |
| ********************************* | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE HTML> | |
| <html> | |
| <head> | |
| <meta charset="utf-8"/> | |
| <meta http-equiv="X-UA-Compatible" content="IE=7"> | |
| <title>标题</title> | |
| </head> | |
| <body> | |
| <?php | |
| function _PAGEFT($totle, $displaypg = 20, $url = '') { | |
| global $page, $firstcount, $pagenav, $_SERVER; | |
| $GLOBALS["displaypg"] = $displaypg; | |
| if(!empty($_GET['page']))$page=$_GET['page']; | |
| if (!$page) | |
| $page = 1; | |
| if (!$url) { | |
| $url = $_SERVER["REQUEST_URI"]; | |
| } | |
| //URL分析: | |
| $parse_url = parse_url($url); | |
| $url_query = $parse_url['query']; //单独取出URL的查询字串 | |
| if ($url_query) { | |
| $url_query = @ereg_replace("(^|&)page=$page", "", $url_query); | |
| $url = str_replace($parse_url["query"], $url_query, $url); | |
| if ($url_query) | |
| $url .= "&page"; | |
| else | |
| $url .= "page"; | |
| } else { | |
| $url .= "?page"; | |
| } | |
| $lastpg = ceil($totle / $displaypg); //最后页,也是总页数 | |
| $page = min($lastpg, $page); | |
| $prepg = $page -1; //上一页 | |
| $nextpg = ($page == $lastpg ? 0 : $page +1); //下一页 | |
| $firstcount = ($page -1) * $displaypg; | |
| //开始分页导航条代码: | |
| $pagenav = "显示第 <B>" . ($totle ? ($firstcount +1) : 0) . "</B>-<B>" . min($firstcount + $displaypg, $totle) . "</B> 条记录,共 $totle 条记录"; | |
| //如果只有一页则跳出函数: | |
| if ($lastpg <= 1) | |
| return false; | |
| $pagenav .= " <a href='$url=1'>首页</a> "; | |
| if ($prepg) | |
| $pagenav .= " <a href='$url=$prepg'>前页</a> "; | |
| else | |
| $pagenav .= " 前页 "; | |
| if ($nextpg) | |
| $pagenav .= " <a href='$url=$nextpg'>后页</a> "; | |
| else | |
| $pagenav .= " 后页 "; | |
| $pagenav .= " <a href='$url=$lastpg'>尾页</a> "; | |
| //下拉跳转列表,循环列出所有页码: | |
| $pagenav .= " 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n"; | |
| for ($i = 1; $i <= $lastpg; $i++) { | |
| if ($i == $page) | |
| $pagenav .= "<option value='$i' selected>$i</option>\n"; | |
| else | |
| $pagenav .= "<option value='$i'>$i</option>\n"; | |
| } | |
| $pagenav .= "</select> 页,共 $lastpg 页"; | |
| } | |
| $conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误"); | |
| mysql_select_db("test", $conn); | |
| mysql_query("set names UTF8"); //使用UTF-8编码; | |
| $result=mysql_query("SELECT * FROM `news`"); | |
| $total=mysql_num_rows($result); | |
| //调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所以省略掉)。 | |
| _PAGEFT($total,2); | |
| echo $pagenav; | |
| $result=mysql_query("SELECT * FROM `news` limit $firstcount,$displaypg "); | |
| while($row=mysql_fetch_array($result)){ | |
| echo "<hr><b>".$row['title']." | ".$row['text']; | |
| } | |
| mysql_close($conn);//关闭连接 | |
| ?> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment