我有一些代码从数据库中获取结果,然后将它们包装到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>';
下图显示了结果的屏幕截图。
任何建议或指导都将不胜感激。
由于
答案 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>';