這篇文章主要介紹了php中單個數(shù)據(jù)庫字段多列顯示、分行分列顯示技巧,也可稱為單字段分頁、橫向輸出,需要的朋友可以參考下
今天在做項目時,遇到個問題就是把從數(shù)據(jù)庫讀出來的同一字段分行分列顯示,就是每行顯示12列,根據(jù)總記錄數(shù)控制循環(huán)行數(shù)。如果是多字段很好實(shí)現(xiàn),一個循環(huán)搞定,如果是一個字段循環(huán)那么就比較麻煩了,需要同時用到多個循環(huán)還有遞增變量,網(wǎng)上也有很多Phper遇到相似的問題,今天小編把自己的解決方案分享大家。
對于同一字段循環(huán)多行和控制列顯示個數(shù),實(shí)現(xiàn)原理就是先用Limit限制讀出第一次循環(huán),然后拿第一次循環(huán)讀出的記錄數(shù)加上要每行顯示的列數(shù)。下面直接附上代碼:
第一次循環(huán)代碼:
<tr>
<?php
$rer=mysql_query(“select EI_EmployeeId
,EI_EmployeeName from employeeinfo order by EI_EmployeeId asc limit 0,10″);
while($inf=mysql_fetch_array($rer)){
?>
<td>
<input type=”checkbox” name=”menuemployname” id=”menuemployname” value=”
<?php echo $inf['EI_EmployeeName']?>”/>
<?php echo $inf['EI_EmployeeName']?>
</td>
<?php }?>
</tr>
之后循環(huán)代碼:
<?php
$rer=mysql_query(“select EI_EmployeeId,EI_EmployeeName from employeeinfo order by EI_EmployeeId asc”);
$num=mysql_num_rows($rer);
$i=0;$j=10;
$count=ceil($num/$j);
for($k=0;$k<$count;$k++){
$i=$i+$j;
?>
<tr>
<?php
$rer=mysql_query(“select EI_EmployeeId,
EI_EmployeeName from employeeinfo order by EI_EmployeeId asc limit $i,$j”);
while($inf=mysql_fetch_array($rer)){
?>
<td>
<input type=”checkbox” name=”menuemployname” id=”menuemployname” value=”
<?php echo $inf['EI_EmployeeName']?>”/>
<?php echo $inf['EI_EmployeeName']?>
</td>
<?php }?>
</tr>
<?php }?>
當(dāng)然還有更直接的方法,就是多次循環(huán)第一次循環(huán),只需要改動Limit的第一個參數(shù)即可。希望對于初學(xué)者phper有所幫助。
更多信息請查看IT技術(shù)專欄