【发布时间】:2011-06-01 21:10:17
【问题描述】:
我在我的 PHP EOF 中使用。
问题是它只显示一个来自 mySQL 循环的项目。
它只显示最后一个结果。
这在 EOF 中是必要的吗?或者我可以避免这个问题吗?
谢谢
function getYiBAdminBanner() {
global $site;
global $dir;
$queryYiBmenu = "SELECT * FROM `(YiB)_cPanel_Menu` WHERE Type = 'top'";
$resultYiBmenu=mysql_query($queryYiBmenu) or die("Errore select menu: ".mysql_error());
$countYiBmenu = mysql_num_rows($resultYiBmenu);
while($rowYiBmenu = mysql_fetch_array($resultYiBmenu)) {
$menu = "<div id=\"menu\" style=\"display:none;\"><li><a href=\"".$site['url'].$rowYiBmenu['linkHref']."\" onMouseOut=\"javascript: $('#menu').hide('9000');\"><img class=\"imgmenu\" src=\"".$site['url'].$rowYiBmenu['linkIcon']."\">".$rowYiBmenu['linkTitle']."</a></li></div>";
}
if($countYiBmenu <= 0){
$menu = "No Modules Installed";
}
$bannerCode .= <<<EOF
<div style="width:520px; background-color: #EEE; height:30px;">
{$menu}
</div>
EOF;
return $bannerCode;
}
【问题讨论】:
-
能否请您发布您的代码?
-
你是在循环遍历一个 mySQL 结果还是一个文件?
-
我正在遍历一个 mySQL 结果。没有可显示的代码。问题很简单。我应该发布两页代码吗? @Felix Kling 我认为你不需要这样的东西。
-
如果您正在循环查看
mysql结果,据我所知,您不应该使用任何“EOF”(这是用于文件句柄)。你应该使用mysql_query -> mysql_fetch_assoc or mysql_fetch_array -> while loop。看我的例子。 -
仅供参考,你称之为“EOF”的东西实际上被称为heredoc,你可以使用除
EOF之外的另一个标识符来使其工作:phpf1.com/tutorial/php-heredoc-syntax.html