PHP初学者必备:常用代码及分页实现
需积分: 33 50 浏览量
更新于2024-07-31
2
收藏 21KB DOCX 举报
"这篇资源是针对PHP初学者的,提供了PHP常用代码示例,包括连接MySQL数据库、读取数据库并循环输出数据以及实现分页功能的函数。"
在PHP编程中,掌握一些基础且常用的代码片段对于新手入门至关重要。这里我们将深入探讨提供的代码片段,并扩展相关知识。
1. 连接MySQL数据库
PHP使用`mysql_connect()`函数连接到MySQL服务器,该函数接受三个参数:服务器地址、用户名和密码。在示例中,它连接到本地主机("localhost"),使用"root"用户和默认密码。`mysql_select_db()`函数用于选择要操作的数据库。请注意,`mysql_`系列函数在较新的PHP版本中已废弃,推荐使用`mysqli_`或PDO进行数据库操作,因为它们更安全,支持更多特性。
```php
$connec = mysql_connect("localhost", "root", "root") or die("不能连接数据库服务器:" . mysql_error());
mysql_select_db("liuyanben", $connec) or die("不能选择数据库:" . mysql_error());
```
此外,`mysql_query("setnames 'gbk'");`用于设置字符集为GBK,确保中文数据正确显示。在现代实践中,通常推荐使用`utf8mb4`,因为它支持更多的Unicode字符。
2. 读取数据库并循环输出
这段代码通过`mysql_query()`执行SQL查询(获取`liuyan`表中的所有记录,按`ly_id`降序排列)。`mysql_fetch_array()`用于获取结果集中的每一行,然后在循环内部处理数据。
```php
$sql = "select * from liuyan order by ly_id desc";
$conn = mysql_query($sql, $connec);
while ($rs = mysql_fetch_array($conn)) {
// 循环的内容
}
```
在循环中,你可以访问数组 `$rs` 来获取列值,例如 `$rs['column_name']`。
3. 分页功能
分页是大型数据集展示的关键部分。这里有两个函数,一个用于计算分页信息,另一个用于显示分页链接。
- `genpage()` 函数接收一个SQL查询字符串和每页显示的记录数作为参数。它计算总记录数,确定总页数,并修改原始SQL以添加`LIMIT`子句,限制返回的数据量。注意,这个函数使用了全局变量来传递结果,这在实践中应避免,更佳的做法是通过参数或返回值传递这些信息。
- `显示分页`函数负责生成实际的分页链接。这个函数通常会根据`genpage()`返回的信息创建上一页、下一页和页码链接。
```php
function genpage(&$sql, $page_size = 2) {
// ...
}
function display_page() {
// ...
}
```
在实际项目中,这两个函数可能需要进一步改进,例如添加错误处理,使用预处理语句防止SQL注入,以及使用更灵活的URL结构。同时,考虑使用现有的成熟分页库,如`\Illuminate\Pagination\LengthAwarePaginator`(Laravel框架的一部分)或`\yii\data\Pagination`(Yii框架的一部分),它们提供了更多的功能和灵活性。
这个资源为PHP初学者提供了一些基本操作的起点,但要记住,随着技能的提高,应关注更现代、更安全的编程实践。
2016-05-12 上传
点击了解资源详情
2020-10-27 上传
2009-01-07 上传
2016-02-26 上传
2012-12-21 上传
zsy661
- 粉丝: 0
- 资源: 6
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍