今天在做項目時,遇到個問題就是把從數據庫讀出來的同一字段分行分列顯示,就是每行顯示12列,根據總記錄數控制循環行數。如果是多字段很好實現,一個循環搞定,如果是一個字段循環那麼就比較麻煩了,需要同時用到多個循環還有遞增變量,網上也有很多Phper遇到相似的問題,今天小編把自己的解決方案分享大家。
對於同一字段循環多行和控制列顯示個數,實現原理就是先用Limit限制讀出第一次循環,然後拿第一次循環讀出的記錄數加上要每行顯示的列數。下面直接附上代碼:
第一次循環代碼:
<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>之後循環代碼:
<?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 }?>
當然還有更直接的方法,就是多次循環第一次循環,只需要改動Limit的第一個參數即可。希望對於初學者phper有所幫助。
我建議你存的時候存用time()函數的到的秒,數據表字段類型弄成int(10)就可以,輸出的時候可以直接用date('Y-m-d',db['time'])格式化輸出了!
// 數據庫連接部分省略
$q = mysql_query("select User,Tel from darkit.Users limit 10", $lnk);
while($rs = mysql_fetch_assoc($q)){
echo $rs['User'], " : ", $rs['Tel'], "<br />";
}
///////