今天在做项目时,遇到个问题就是把从数据库读出来的同一字段分行分列显示,就是每行显示12列,根据总记录数控制循环行数。如果是多字段很好实现,一个循环搞定,如果是一个字段循环那么就比较麻烦了,需要同时用到多个循环还有递增变量,网上也有很多Phper遇到相似的问题,今天小编把自己的解决方案分享大家。 对于同一字段循环多行和控制列显示个数,实现原理就是先用Limit限制读出第一次循环,然后拿第一次循环读出的记录数加上要每行显示的列数。下面直接附上代码: 第一次循环代码: <tr> <?php $rer=mysql_query(“select EI_EmployeeId,EI_EmployeeNam 在PHP编程中,有时我们需要将从数据库中获取的单一字段数据进行特殊格式的展示,比如在网页上将同名字段的值分行分列显示。这种需求常见于创建表格或者列表时,尤其是当需要控制每行显示的列数时。本文将详细介绍如何在PHP中处理这种单个数据库字段的多列显示,并实现分页功能。 我们要理解这个问题的基本思路。假设我们有一个字段`EI_EmployeeName`,存储的是员工的名字,我们需要按照每行12列的方式展示。如果使用多字段,我们可以直接遍历结果集,但在单字段情况下,我们需要额外处理。基本策略是通过LIMIT语句限制每次查询返回的记录数,然后在前端进行排列。 以下是一个简单的示例代码: ```php // 第一次循环,获取前10条记录 $sql_first = "SELECT EI_EmployeeId, EI_EmployeeName FROM employeeinfo ORDER BY EI_EmployeeId ASC LIMIT 0, 10"; $result_first = mysql_query($sql_first); echo "<tr>"; while ($info = mysql_fetch_array($result_first)) { echo "<td><input type='checkbox' name='menuemployname' id='menuemployname' value='{$info['EI_EmployeeName']}'/>{$info['EI_EmployeeName']}</td>"; } echo "</tr>"; ``` 这里我们使用`mysql_query()`执行SQL,获取前10条记录,然后在循环中创建一个包含复选框和员工名字的`<td>`元素。注意,这里使用了已经废弃的`mysql_*`系列函数,实际开发中应使用`mysqli_*`或PDO。 为了实现分页,我们需要计算总记录数,并根据每行显示的列数(例如12列)来确定需要多少次循环。这里我们使用`mysql_num_rows()`获取总记录数,然后计算分页的次数: ```php $total_rows = mysql_num_rows(mysql_query("SELECT * FROM employeeinfo")); $columns_per_row = 12; $pages = ceil($total_rows / $columns_per_row); ``` 接下来,我们用一个for循环来处理剩余的记录,每次循环处理12列(即一页的数据): ```php for ($k = 1; $k < $pages; $k++) { $offset = $k * $columns_per_row; $sql_next = "SELECT EI_EmployeeId, EI_EmployeeName FROM employeeinfo ORDER BY EI_EmployeeId ASC LIMIT $offset, $columns_per_row"; $result_next = mysql_query($sql_next); echo "<tr>"; while ($info = mysql_fetch_array($result_next)) { echo "<td><input type='checkbox' name='menuemployname' id='menuemployname' value='{$info['EI_EmployeeName']}'/>{$info['EI_EmployeeName']}</td>"; } echo "</tr>"; } ``` 在这个例子中,我们使用`$offset`作为LIMIT语句的第一个参数,这样每次循环都会从上次结束的位置开始继续获取记录。 除了这种方法,还可以选择多次运行第一次循环,只需调整LIMIT的第一个参数,但这种方法可能会导致更多的数据库查询,从而影响性能。 在实际开发中,应该注意优化数据库查询,避免过多的数据库操作,可以考虑使用存储过程或者预编译的SQL语句。此外,随着PHP版本的更新,`mysql_*`系列函数已被废弃,推荐使用`mysqli_*`或PDO来执行SQL,它们提供了更好的错误处理和更安全的连接方式。 这个例子展示了如何在PHP中处理单个字段的分列显示,并结合分页功能,适用于网页表格的构建。在实践中,可以进一步优化代码,提高效率,确保兼容性和安全性。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![audio/mpeg](https://img-home.csdnimg.cn/images/20210720083646.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![sql](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![text/plain](https://img-home.csdnimg.cn/images/20210720083646.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![text/plain](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![php](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 2
- 资源: 936
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)