多次调用php函数,每次返回一个不同的变量

时间:2016-08-30 11:58:01

标签: php function

我有几个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
?>

2 个答案:

答案 0 :(得分:0)

你的方法应该是:

function getTable($tableName) {
      $table = mysqli_query("SELECT * FROM $tableName");
      return $table;
}

您必须进一步格式化。

答案 1 :(得分:0)

很简单,你只需传递参数:

function getTable($table = null) {
  return $table;
}

使用带有默认值的函数参数,而不是静态变量。