我有几个HTML页面,每个页面上有大约7个单独的表格标题。表头是从MySQL数据库生成的。
每个页面最多可包含7个不同的表格标题。
我有一个带有MySQL查询的包含文件(对于只有一个表标题的页面工作正常) - 这个MySQL查询接受一个参数($ table)从数据库中选择正确的表。
我的功能如下:
function getTable() {
return $table;
}
我称之为:
getTable('table_name'); // table_name is the name of the table I want.
因此,当我的页面加载时,该函数将被多次调用,每次使用$ table变量时,不同的“table_name”将被传递给我的include文件。
但是 - 我根本无法解决这个问题。
我只是从include文件和包含该函数的文件中得到“Notice:Undefined variable:table in”。
我做错了什么?
更新
如果我添加:
$table = "table_header1";
到包含HTML的文件的顶部 - 然后将其传递给包含文件。
但是如果我使用该函数(现在在include文件中),那么$ table参数不会被传递。
这是一个全局变量问题吗?
<?php
// top of file
$table = "table_header1";
include('header_inc.php');
// this works - the variable is passed to header.inc.php
?>
<?php
// top of file
include('header_inc.php');
getTable('table_header1');
echo $table;
// this ^^ does not work
?>
答案 0 :(得分:0)
你的方法应该是:
function getTable($tableName) {
$table = mysqli_query("SELECT * FROM $tableName");
return $table;
}
您必须进一步格式化。
答案 1 :(得分:0)
很简单,你只需传递参数:
function getTable($table = null) {
return $table;
}
使用带有默认值的函数参数,而不是静态变量。