我有一张图片表('imgurl','orientation'),其中的方向是垂直或水平的。
我想要显示图片:
首先横向 第一个垂直 第二纵向 第二横向
我通常会做一个
while($img2 = mysql_fetch_assoc($img))
{ ... }
但是我怎样才能改变它来控制第一个水平,然后是第一个垂直,然后是第二个垂直,然后是第二个水平,
感谢
CODE:
$img = mysql_query("select * from blogimage where blog_id = '".$blog2['blog_id']."' ");
while($img2 = mysql_fetch_assoc($img))
{ ?>
<tr><td colspan="2"><img src="blogimages/<? echo $img2['img_url']; ?>" /></td></tr>
<? } ?>
mysql表blogimage有'img_url'和'orientation'(垂直或水平)
答案 0 :(得分:0)
有几个解决方案:
在名为position的表中添加第三列:将元素的位置存储在那里。
如果你坚持按自己的方式行事,请小心。
$ img = mysql_query(“select * from blogimage where blog_id ='”。$ blog2 ['blog_id']。“'”);
只是注意不要将未转义的字符串传递给您的SQL查询使用参数绑定,如PDO或框架,如codeigniters活动记录。另外mysql是折旧使用mysqli
如果要在垂直和水平之间交替存储数组中的结果:
$vertical,$horizontal = array();
while($img2 = mysql_fetch_assoc($img))
{
$orientation = mysql_fetch_assoc($orientation);
if($orientation == 'vertical') {
array_push($vertical,$img2);
}
else
{
array_push($horizontal,$img2 );
}
//now you have two arrays filled with index=>picture based on orientation
for($i=0; $i<count($horizontal)-1; i++)
{
echo "<tr><td colspan='2'><img src='blogimages/'.$horizontal[$i].'/></td></tr>";
echo "<tr><td colspan='2'><img src='blogimages/'.$vertical[$i].'/></td></tr>";
}
}