效果输出格式    图片1    图片2 
              图片3    图片4
实际输出格式    图片1
              图片1
              图片1 
              图片1代码
<?php
$sql=mysql_query("select * from caparison order by id desc limit 4"); //显示最新发布4张图片
$info=mysql_fetch_array($sql);
?><!--循环显示最新发布4张图片 -->
<?php
if($info){
$i=1;
do{
?>
      <?php $img = $info[img]; $path = "../TimeSaddlery/Mayi/";?>
              <tr>
  <td colspan="2"> <div style= "overflow-y:auto"> <img  src="<? echo "$path$img" ;?>"></div></td>
      </tr>
    <?php 
   $i=$i+1;
}while($info=mysql_fetch_array($sql))
 ?>
   <?php } ?>  

解决方案 »

  1.   

    <?php 
    $sql=mysql_query("select * from caparison order by id desc limit 4"); //显示最新发布4张图片 
    $info=mysql_fetch_array($sql); 
    ?> 
    <?php while($info=mysql_fetch_array($sql){$img[]=$info;
    }
    if($img){ ?><!--循环显示最新发布4张图片 --> 
    <table><tr>
    <?phpforeach($img as $key=>$value){?>
    <td><?php echo $value[img] ?></td>
    <?php 
    if(($key+1)%2==0) echo "</tr><tr>";}}
    ?>
    反正大概是我写的这个意思,先组织一个数组$img,然后循环他,当($key+1)能被2整除的时候,写一个</tr><tr>进去,这样就了。
      

  2.   

    我写的这个代码中可能会有错误,但是从实现机制上来讲,一定是对的,请楼主研究后自己写一下看。另外,本人不喜欢用do while  ,看起来很啰嗦的样子。
      

  3.   

    用css来控制,设定图片大小,向左飘,补白
    要多少个图片转行,设置一下div和img的大小就可以了如下
    //html代码
    <div id="my"> <!---------这里可以写php循环代码------------>
     <div class="photo"> <img src="" alt="" /> </div>
     <div class="photo"> <img src="" alt="" /> </div>
     <div class="photo"> <img src="" alt="" /> </div></div>
    //ccs代码
      
    .photo{
      float:left;
      padding:10px;
      width:300px;
      height:200px;
    }
      

  4.   

    我的意见:
    数据和形式分开PHP输出数据
    CSS控制形式完毕
      

  5.   

    借用楼上几位的意见, 代码如下
    .photo{
      float:left;
      padding:10px;
      width:300px;
      height:200px;
    }<div id="my">
    <?
       //$images 是楼主得到的数据数组。
       foreach ($images as $image){
    ?>
     <!---------这里可以写php循环代码------------>
     <div class="photo"> <img src="<?echo '../TimeSaddlery/Mayi/'.$image;?>" alt="" /> </div>
    <? }?>
    </div>