PHP编程:MySQL操作与分页实现

需积分: 10 7 下载量 76 浏览量 更新于2024-11-15 1 收藏 15KB TXT 举报
"这是一份关于PHP编程的实用代码集合,涵盖了MySQL数据库连接、数据查询以及分页功能的实现。" 在PHP编程中,经常需要处理与MySQL数据库的交互,以下是一些常用的PHP代码示例: 1. MySQL数据库连接: ```php $connec = mysql_connect("localhost", "root", "root") or die("无法连接数据库:" . mysql_error()); mysql_select_db("liuyanben", $connec) or die("选择数据库失败:" . mysql_error()); mysql_query("set names 'gbk'"); // 设置字符集为GBK ``` 这段代码首先连接到本地的MySQL服务器,使用"root"用户名和密码进行身份验证。如果连接失败,`die()`函数将停止脚本并打印错误信息。接着,它会选择名为"liuyanben"的数据库,同样,如果选择失败也会显示错误。最后,设置字符集为GBK,确保中文字符能够正确处理。 2. 查询数据库并遍历结果: ```php $sql = "select * from liuyan order by ly_id desc"; $conn = mysql_query($sql, $connec); while ($rs = mysql_fetch_array($conn)) { echo "内容"; } ``` 在这里,我们编写了一个SQL语句,用于从"liuyan"表中选取所有列,并按照`ly_id`字段降序排列。`mysql_query()`执行SQL查询,成功则返回一个结果集。通过`while`循环和`mysql_fetch_array()`函数,我们可以逐行遍历查询结果并处理每条记录。 3. 实现分页功能: 分页是大型网站常见的需求,下面的代码展示了如何创建和展示分页链接。 - 分页计算: ```php function genpage(&$sql, $page_size = 2) { global $prepage, $nextpage, $pages, $sums; // outparam $page = $_GET["page"]; $eachpage = $page_size; $pagesql = strstr($sql, "from"); $pagesql = "select count(*) as ids" . $pagesql; $conn = mysql_query($pagesql) or die(mysql_error()); if ($rs = mysql_fetch_array($conn)) $sums = $rs[0]; $pages = ceil(($sums - 0.5) / $eachpage) - 1; $pages = $pages >= 0 ? $pages : 0; $prepage = ($page > 0) ? $page - 1 : 0; $nextpage = ($page < $pages) ? $page + 1 : $pages; $startpos = $page * $eachpage; $sql .= " limit $startpos, $eachpage"; } ``` 这个函数`genpage()`接受一个SQL查询字符串和每页显示的记录数作为参数。它首先获取SQL中的`from`关键字之后的部分,然后构造一个新的SQL用于计算总记录数。接着,根据总记录数和每页记录数计算总页数,以及当前页的前一页和后一页的页码。最后,添加`LIMIT`子句以获取当前页的数据。 - 显示分页链接: ```php function showpage() { global $page, $pages, $prepage, $nextpage, $queryString; // param from genpage function $shownum = 10 / 2; $startpage = ($page >= $shownum) ? $page - $shownum : 1; $endpage = ($page + $shownum > $pages) ? $pages : $page + $shownum; echo "分页链接显示代码"; } ``` `showpage()`函数用于在页面上生成分页链接。它确定了应该显示的起始页码和结束页码,确保在当前页附近的页码会被显示出来,以便用户浏览。 这些PHP代码片段对于理解和实现与MySQL数据库交互的基础操作,以及分页功能非常有帮助。然而,需要注意的是,`mysql_`系列函数已弃用,建议使用更安全的`mysqli_`或`PDO`扩展来处理数据库操作。在实际项目中,请务必考虑代码的安全性和最佳实践。