2010-02-18 171 views
0

这里是我的代码,其中一部分工作完美而另一部分则不工作。
PHP SQL语句中的循环问题

<?php 
$query = "Select * from Query ORDER BY time DESC"; 
$result = mysql_query($query); 
while ($row = mysql_fetch_assoc($result)) { 
?> 

<span class="hotspot" onmouseover="tooltip.show('<center><b><?php echo $row['name'] ?></b></center>');" onmouseout="tooltip.hide();"> 
<?php 
echo "<img src='/" . $row['name'] . ".gif'> "; 
} 
?> 

现在有喜欢100+行,第二$row['name']工作正常与循环,但第一个使用第rwos导致每一个结果。
任何解决方案?

回答

0

我发现了这个问题。 结束</span>在循环之后。

+0

是啊......我正在改写它来为你清理它,这实际上是我的一个问题。 “这个跨度在任何地方结束?”。 这不会改变打印出来的'$ row ['name']'的值,尽管它可能会使它看起来如此。一定要查看您的实际HTML,看看发生了什么。您也可能希望使用Firefox的W3 Validator或HTML Validator扩展。 – JAL

0

您是否尝试将$ row ['name']赋值给一个变量,然后使用该变量来构建HTML?

+0

试过没有工作 –

0

我不知道这事,但你可以把它放到一个分号在您的第一块回声代码:

<?php echo $row['name']; ?> 
+0

试过了,没有工作 –

+0

在别处放弃分号当然是一个致命的错误,但PHP并不介意在关闭PHP标记之前为最后一个命令省略它。 – JAL

0

我没有发现任何明显的errors--尝试添加一行代码所以它在循环的早些时候回应了$ row ['name'],这可能会帮助你更好地理解正在发生的事情。见下:

<?php 
$query = "Select * from Query ORDER BY time DESC"; 
$result = mysql_query($query); 
while ($row = mysql_fetch_assoc($result)) { 
echo $row['name']."<br>";  // <-------- ADD THIS LINE 
?> 

<span class="hotspot" onmouseover="tooltip.show('<center><b><?php echo $row['name'] ?></b></center>');" onmouseout="tooltip.hide();"> 
<?php 
echo "<img src='/" . $row['name'] . ".gif'> "; 
} 
?>