2016-08-30 6 views
1

私はいくつかのHTMLページを持っています。各ページにはそれぞれ7つの表の見出しがあります。テーブルヘッダーは、MySQLデータベースから生成されます。PHP関数を複数回呼び出して毎回別の変数を返す

各ページには、7つの異なる表見出しを付けることができます。

私は、MySQLのクエリ(これは単一のテーブル見出しのみのページでうまくいきます)のインクルードファイルを持っています - このMySQLクエリはデータベースの正しいテーブルを選択する引数($ table)を受け取ります。

getTable('table_name'); // table_name is the name of the table I want. 

だから私のページが読み込まれ、関数が呼び出されます複数回、別の「TABLE_NAME」を:

function getTable() { 
      return $table; 
} 

そして、私はこのようにそれを呼び出す:

My機能は、このようになります$ table変数を使って毎回インクルードファイルに渡されます。

しかし、私はこれをまったく動作させることはできません。

インクルードファイルと関数を含むファイルの両方から「Notice:Undefined variable:table in」を取得しました。

私は間違っていますか?

UPDATE

は、私が追加した場合:

$table = "table_header1"; 

HTMLを含むファイルの先頭に - そしてこれは、インクルードファイルに渡されます。

しかし、私が関数(これはインクルードファイルにある)を使用すると、$ tableパラメータは渡されません。

これはグローバル変数の問題ですか?

function getTable($tableName) { 
     $table = mysqli_query("SELECT * FROM $tableName"); 
     return $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 
?> 
+1

引数パラメータ 'function getTable($ table)'を定義する必要があります。関数は実際に渡すときに同じ文字列を返すことになりますか? –

+0

@ Magnus - はい私はそれを試みたが、それはまだ動作しません。 – Tony

+0

@Syed - それは私に同じエラーを与えます。 – Tony

答えて

0

あなたの方法は次のようにする必要があります。代わりに、静的変数の

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

デフォルト値を関数のパラメータを使用します。

0

シンプルなあなただけのパラメータを渡します。

関連する問題