今天在做项目时,遇到个问题就是把从数据库读出来的同一字段分行分列显示,就是每行显示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'], "
";
}
///////