Div结果相互嵌套

时间:2013-10-27 00:39:38

标签: php html

我有一些代码从数据库中获取结果,然后将它们包装到div中,以便每个结果都位于各个框中。

虽然结果很好,但我遇到的问题是盒子在彼此内部重复,而不是形成彼此相互列出的单个盒子。

下面是我的PHP代码

   $sVisit_Id='';
         while ($row = mysql_fetch_array ($result)) {
               $url1  = $row['url1'];

                 if ($row['visit_id']!=$sVisit_Id)
                    {

                      echo '</table>'; 
                      ?> <div class="box1095"><?php
                      echo '<table><tr><td class="test" width="350px;"><strong>'.$referrer.'</strong><br /></td><td>'.$search_term.'</td></tr><table>';

                      $sVisit_Id=$row['visit_id'];
                      echo '<tr bgcolor="#333" height=30px"><td width="200px">Date/Time</td><td width="750px">Webpage</td><td width="150px"></td></tr>';
                    }

                      echo '<tr class="active" bgcolor="" onMouseOver="this.bgColor="gold";" onMouseOut="this.bg"#222222";"><td width="200px" border="">'.$row['timedate'].
   '</td><td width="750px" border="">'. $row['url1'].'</td><td width="15px" align="right" border="">'. "<a href=". $url1 ." class=''> " ?><img src="images/go_button.fw.png" width="100" height="30" alt="GO" target="_blank"/><?php "</a>" .'</td></tr>';
         } ?></div><?php 

                     echo '</table>'; 

下图显示了结果的屏幕截图。

Results Screenshot

任何建议或指导都将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

你应该尝试这样的事情

echo '<table>';
while ($row = mysql_fetch_array ($result)) {
    // everything goes here
    echo '<tr><td>Webpage</td><td></td></tr>';
    echo '<tr><td>some text</td><td>some text</td><td><a href=""><img src="" /></a></td></tr>';
}
echo '</table>';

保持table不在循环中(包括开始和结束标记),因此,将有一个包含多行(tr)的表。

更新:您在<table>...<table>条件之间有{if},如下所示

echo '<table><tr><td class="test" width="350px;"><strong>'.$referrer.'</strong><br /></td><td>'.$search_term.'</td></tr><table>';

没有结束标记,而是<table>,所以,您的表永远不会关闭。此外,在echo '</table>';条件的开头只有if,没有开始标记(在循环内)但是结束标记在循环之外。

更新:您还可以在循环中的最后一行末尾跟随(由David指出)(未回显/打印)。

<?php "</a>" .'</td></tr>';