php问题 图片排列及分页请教

这是我写的代码指定类别数据分页有误但可以调出还有图片我想按照每行三个排布请问代码如何写,谢谢!<tablewidth="210"height="100"border="0... 这是我写的代码 指定类别数据分页有误 但可以调出 还有图片我想按照每行三个排布 请问代码如何写,谢谢!

<table width="210" height="100" border="0" cellpadding="0" cellspacing="0">
<tr><?
$maxnum = 10; //每页显示记录条数
if(empty($_POST['keyword']))
{
$query1 = "SELECT COUNT(*) AS totalrows FROM sys_product ";
}
else
{
$query1 = "SELECT COUNT(*) AS totalrows FROM sys_product where proname like '%".$_POST['keyword']."%' ";
}
$result1 = mysql_query($query1, $db) or die(mysql_error());
$row1 = mysql_fetch_assoc($result1);
$totalRows1 = $row1['totalrows']; //数据集数据总条数
$totalpages = ceil($totalRows1/$maxnum);//计算可分页总数,ceil()为上舍函数
mysql_query('set names "gb2312"');
if(!isset($_GET['page']) || !intval($_GET['page']) || $_GET['page'] > $totalpages) $page = 1; //对3种出错进行默认处理
//在url参数page不存在时,page不为10进制数时,page大于可分页数时,默认为1
else $page = $_GET['page'];
$startnum = ($page - 1)*$maxnum; //从数据集第$startnum条开始取,注意数据集是从0开始的
if(empty($_POST['keyword']))
{
$query = "SELECT * FROM sys_product where sname = '订餐' order by id desc LIMIT $startnum,$maxnum"; //选择出符合要求的数据 从$startnum条数据开始,选出$maxnum行
}
else
{
$query = "SELECT * FROM sys_product where proname like '%".$_POST['keyword']."%' order by id desc LIMIT $startnum,$maxnum";//选择出符合要求的数据 从$startnum条数据开始,选出$maxnum行
}
$result = mysql_query($query, $db) or die(mysql_error());

While($row=mysql_fetch_array($result)){
?>
<td width="31%" rowspan="2" style="padding:4px 8px 4px 0px"><a href="dc_detail.php?id=<?=$row['Id']?>"><img src="<? if($row['propic']==""){ echo "/images/no.jpg";} else {echo "/admin/".$row['propic']; }; ?>" name="dish_image" width="90" height="70" border="0" id="dish_image"></a></td>
<td width="69%" height="25"><span class="STYLE21"><?php echo $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"><?php echo number_format($row['proprice'], 2); ?></span><span class="STYLE26">元</span><br/>
<a href="#" style="float:right"> 详细>></a></td>
</tr><? }?>
</table>
展开
 我来答
阳光上的桥
2010-02-25 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65835
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
你有没有觉得你的程序看起来很累~

我提几个意见,看明白了你的问题可能就解决了~

一、对于参数的判断要修改,你点下一页的时侯,可能是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>
火火烧烧
2010-02-25 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:105万
展开全部
在代码开始设定一个变量他的值是$x=1
图片每循环一次$x+=1
if $x%3=0{
echo "</tr><tr>";
}
注意你循环时只循环单元格(<td></td>)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式