PHP EOF показывает только один результат из цикла - PullRequest
0 голосов
/ 02 июня 2011

Я использую в своем 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;
}

1 Ответ

2 голосов
/ 02 июня 2011

Редактировать: на основе вашего примера кода: попробуйте $menu .= <your result> или $menu = $menu . <your result> вместо $menu = <your result>. Но неясно, ожидаете ли вы несколько результатов или нет

Если вы просматриваете результаты запроса MySQL, вы должны сделать что-то вроде этого:

$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
    mysql_real_escape_string($firstname),
    mysql_real_escape_string($lastname));

// Perform Query
$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result)) {
    echo $row['firstname'];
    echo $row['lastname'];
    echo $row['address'];
    echo $row['age'];
}

http://php.net/manual/en/function.mysql-query.php

Если вы просматриваете содержимое файла, вы должны делать что-то вроде этого:

<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while(!feof($file))
  {
  echo fgets($file). "<br />";
  }
fclose($file);
?>

http://www.w3schools.com/php/php_file.asp

php manual fopen

Надеюсь, это поможет, но ваш вопрос не очень ясен о том, как / где вы используете EOF.

...