我想用php输出mysql表里的图片,结果输出不显示,求帮助。。
查询语句这些都没问题,就是到循环的时候一点也不输出,是怎么回事?我想每页输出9张图,分3行3列这样显示。<?php$sqla="select*frompictureord...
查询语句这些都没问题,就是到循环的时候一点也不输出,是怎么回事? 我想每页输出9张图,分3行3列这样显示。
<?php
$sqla="select * from picture order by pic_id desc limit 0,9";
$querya=mysql_query($sqla);
while($rows=mysql_fetch_array($querya)){
?>
<table border=1 >
<?php
for($i=1;$i>=3;$i++){
?>
<tr>
<?php
for($l=1;$l>=3;$l++){
?>
<td><img src="<?= $rows['pic_url'] ?>"></td>
<?php
}
?>
</tr>
<?php
}
?>
</table>
<?php
}
?> 展开
<?php
$sqla="select * from picture order by pic_id desc limit 0,9";
$querya=mysql_query($sqla);
while($rows=mysql_fetch_array($querya)){
?>
<table border=1 >
<?php
for($i=1;$i>=3;$i++){
?>
<tr>
<?php
for($l=1;$l>=3;$l++){
?>
<td><img src="<?= $rows['pic_url'] ?>"></td>
<?php
}
?>
</tr>
<?php
}
?>
</table>
<?php
}
?> 展开
3个回答
展开全部
这代码写的够累的,给你改一改:
<?php
$sqla="select * from picture order by pic_id desc limit 0,9";
$res=mysql_query($sqla);
$num=mysql_num_rows($res);
echo "<table border=1 ><tr>";
$i=0;
while($row=mysql_fetch_array($res))
{
echo "<td><img src=".$row['pic_url'].>"></td>";
if(($i+1)%3==0 && $i<$num-1)
{
echo "</tr><tr>";
}
$i++;
}
echo "</tr></table>";
?>
<?php
$sqla="select * from picture order by pic_id desc limit 0,9";
$res=mysql_query($sqla);
$num=mysql_num_rows($res);
echo "<table border=1 ><tr>";
$i=0;
while($row=mysql_fetch_array($res))
{
echo "<td><img src=".$row['pic_url'].>"></td>";
if(($i+1)%3==0 && $i<$num-1)
{
echo "</tr><tr>";
}
$i++;
}
echo "</tr></table>";
?>
更多追问追答
追问
是什么意思呢。。while后面完全看不懂,%这是什么意思?
追答
按单元格td来循环显示,%是取余数的意思,因为索引变量$i是从0开始的,所以if(($i+1)%3==0 && $i<$num-1)这句的意思是判断单元格索引是3的倍数并且不是最后的索引,就开始换一行显示直到索引结束。就是三个图片一行的意思。
展开全部
以上正解,但语法小错误,写程序一定要注意细节哈
追问
楼上这段有语法错误吗?
追答
".$row['pic_url'].>"这个的“>”错误,写成".$row['pic_url']."这样就OK了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for($i=1;$i>=3;$i++){
这个循环形同虚设,直接被跳过,检查下条件
这个循环形同虚设,直接被跳过,检查下条件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询