只能在第一页上面 *** 作啊
针对你提出的想要每页显示9个图片,
你直接查询出9条记录,
每行3个,简单的方法,就是在你循环显示的时候,用当前记录数(也就是当前记录是这9个中的第几个)与3求余,如果没有余数,说明是3的倍数了。这个时候,加一个换行符,就行了。
你有没有觉得你的程序看起来很累~我提几个意见,看明白了你的问题可能就解决了~
一、对于参数的判断要修改,你点下一页的时侯,可能是GET传送,不一定是POST,所以不能只从POST获取,否则下一页的时侯就变成显示所有数据了。判断是否有参数的语句可以统一写,不用获取总数和内容的时侯都判断,例如可以这样写:
if(isset($_REQUEST['keyword'])) $where="where proname like '%{$_REQUEST['keyword']}%'"
else $where=''
$query1 = "SELECT COUNT(*) AS totalrows FROM sys_product $where"
$query = "SELECT * FROM sys_product $where order by id desc LIMIT $startnum,$maxnum"
二、不要反复使用<? ?>,整个程序可以就写在一对<?php ?>里面,使用定界符号可以实现,例如:
while ($row=mysql_fetch_array($result)){
$propic = $row['propic']=="" ? "/images/no.jpg" : "/admin/".$row['propic']
$price = number_format($row['proprice'], 2)
echo <<<END
<tr>
<td width="31%" rowspan="2" style="padding:4px 8px 4px 0px">
<a href="dc_detail.php?id={$row['Id']}">
<img src="{$propic}" name="dish_image" width="90" height="70" border="0" id="dish_image"></a></td>
<td width="69%" height="25">
<span class="STYLE21">{$row['proname']}</span>
<span class="STYLE23">{$row['pronum']}份)</span></td>
</tr>
<tr>
<td class="chinazi">非常好吃非常地道的<br />
<span class="STYLE22">CALORIE</span>:{$row['kll']}<br />
价格:<span class="STYLE25">{$price}</span>
<span class="STYLE26">元</span><br/>
<a href="#" style="float:right">详细>></a></td>
</tr>
END
}
三、最后一个问题,你现在每个显示的两行(两个<tr>),你希望修改为每行三个,其实很简单,我只提示一下,可以把现在每个循环的内容改在一个<table>里面,然后使用一个大的<table>实现每行三个,例如下面的结果:
echo '<table>'//最大的table>
$i=0//已经输出的个数
while ($row=mysql_fetch_row(...)){
if ($i % 3==0) echo '<tr>'
echo '<td><table>'
//这里写现在while里面的所有语句
echo '</table>'
$i++
}
echo '</table>'//最大的table>
$mysqlhost='localhost'$mysqluser='root'
$mysqlpassword='root'
$conn=mysql_connect($mysqlhost,$mysqluser,$mysqlpassword)
mysql_select_db('数据库名称',$conn)
$sql = "select * from tb_type"
$result = mysql_query($sql) or die ('数据库查询失败1')
$sum = mysql_now_rows($result)//记录总商品数
if(sum>0)
{
$pagesize=10//每页显示10个商品
$total=ceil($sum/$pagesize) //算出总页数(向上取整)
$page=(isset($_GET['page']))?(int)$_GET['page']:1//如果在URL中用page则赋值,否则$page为1
if($page<1 or $page>$total)//如果$page不合法则$page为1
$page=1
$start=($page-1)*$pagesize//第一条记录所在行数
$sql .="order by id desc limit $start,$pagesize"//按商品ID倒序排列后选择返回$start开始的$pagesize条记录数
$result = mysql_query($sql) or die ('数据库查询失败2')
while($row=mysql_fetch_array($result))
{
echo '商品id'.$row['id'].'<br />'
}
//分页栏显示,此处略去
}else echo '页面不存在或已删除!'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)