<div id="demo" style="overflow:hidden; height:168px; width: 850px; border:0;"> 
  <table border="0" cellpadding="0" cellspacing="0"> 
   <tr> 
      <td><div id="demo1"> 
<table width="850" height="168" cellpadding="0" cellspacing="0"> 
 <tr><td>
   <div id="con_right_xiaph">
      <ul>
<?
$sql="select * from yuangong order by yid desc";
$query=$obj->exec($sql);
$rows=$obj->num_rows($query);
$arrrows=$obj->fetch($query);
 for($q=0;$q<5;$q++){
    $yid=$arrrows[$q]["yid"];
$yname=$arrrows[$q]["yname"];
$yphoto=$arrrows[$q]["yphoto"];
?>   
    <li>
  <table border="0">
  <tr><td>
    <a href="anli_list.php?yid=<?=$yid;?>"><img src="images/<?=$yphoto;?>" style="height:93px; width:138px;"></a>
  </td></tr>
  <tr style=" font-size:11px;"><td>&nbsp;</td></tr>
  <tr style="text-align:center;"><td>
    <a href="anli_list.php?yid=<?=$yid;?>"><?=$yname;?></a>
  </td></tr>
  </table>   
</li>
<?
     }
?>
  </ul>
   </div>
 </td></tr> 
           </table> 
 </div></td> 
    <td id=demo2 width="0"></td> 
  </tr> 
 </table> 
      </div>
<script> 
     var speed=1
          demo2.innerHTML=demo1.innerHTML
          function Marquee(){
          if(demo2.offsetWidth-demo.scrollLeft<=0)
          demo.scrollLeft-=demo1.offsetWidth
          else{
         demo.scrollLeft++
         }
         }
         var MyMar=setInterval(Marquee,speed)
         demo.onmouseover=function() {clearInterval(MyMar)}
         demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>
怎么会只显示五张图片,如果想多循环几张就只能改table的宽,但是我不可能没加一张图片还要该一下宽度吧,有什么好的方法没有?谢谢各位!如果有好的,请发一哈代码。

解决方案 »

  1.   

    1、你有 for($q=0;$q<5;$q++){ 当然只能是5张
    2、你有 <table width="850" 自然就把宽度限死了
      

  2.   

    把这个for($q=0;$q<5;$q++){ 改成 for($q=0;$q<$rows;$q++){ 
    然后把<table width="850" 这个改成什么样的呢?现在是不知道他的宽是多少,如果不写宽的话就不循环,写有不知道是多少?因为还要不断的增加。那应该怎么改?
      

  3.   

    for($q=0;$q<5;$q++)你这样写当然只显示5张了
      

  4.   

    <div id=demo style="overflow:hidden;height:168;width:850;background:#214984;">
    <table align=left cellpadding=0 cellspace=0 border=0 style="color: #FFFFFF;">
    <tr>
    <td id=demo1 valign=top style="float:left;">
          <img src="img/zong.jpg" style="height: 162px; width:135px;">1<img src="img/zong.jpg">2<img src="img/zong.jpg">3<img src="img/zong.jpg">4<img src="img/zong.jpg">5<img src="img/zong.jpg">6
    </td>
    <td id=demo2 valign=top></td>
    </tr>
    </table>
    </div><script>
    var speed=30
    demo2.innerHTML=demo1.innerHTML
    function Marquee(){
    if(demo2.offsetWidth-demo.scrollLeft<=0)
    demo.scrollLeft-=demo1.offsetWidth
    else{
    demo.scrollLeft++
    }
    }
    var MyMar=setInterval(Marquee,speed)
    demo.onmouseover=function() {clearInterval(MyMar)}
    demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
    </script>
    这样写是循环的很好,可是怎么样从数据库里读出来,把数据库循环语句放在那里?
    <?
    $sql="select * from yuangong order by yid desc";
    $query=$obj->exec($sql);
    $rows=$obj->num_rows($query);
    $arrrows=$obj->fetch($query);
     for($q=0;$q<$rows;$q++){
        $yid=$arrrows[$q]["yid"];
    $yphoto=$arrrows[$q]["yphoto"];
    ?>