我有一个过程可以自行运行,但无法在函数中呈现任何信息。
这有效:
if ($totalRows_menu > 0) {
echo "<ul>";
while($row_menu = mysql_fetch_array($menu)) {
echo "<li>" . $row_menu['m3menu_item'] . "</li>";
}
echo "</ul>";
}
但这不是:
function m3menu()
{
if ($totalRows_menu > 0) {
echo "<ul>";
while($row_menu = mysql_fetch_array($menu)) {
echo "<li>" . $row_menu['m3menu_item'] . "</li>";
}
echo "</ul>";
}
}
echo m3menu();
答案 0 :(得分:1)
正如Lex所说,你的变量在函数范围内不可用。您可以在调用时将它们传递给函数,也可以使用global
此外,您的功能是echo
而不是return
HTML,因此您无需echo m3menu();
只需调用m3menu();
这样的函数,或者您可以return
来自函数的HTML,然后echo
输出值。
方法1
function m3menu( $totalRows_menu, $menu )
{
if ($totalRows_menu > 0) {
echo "<ul>";
while($row_menu = mysql_fetch_array($menu)) {
echo "<li>" . $row_menu['m3menu_item'] . "</li>";
}
echo "</ul>";
}
}
m3menu($totalRows_menu, $menu);
方法2
function m3menu()
{
global $totalRows_menu;
global $menu;
if ($totalRows_menu > 0) {
echo "<ul>";
while($row_menu = mysql_fetch_array($menu)) {
echo "<li>" . $row_menu['m3menu_item'] . "</li>";
}
echo "</ul>";
}
}
m3menu();