2013-05-08 121 views
1

Firslty,請原諒我的問題不恰當的措辭。

我想要做的是創建一個簡單的odbc腳本,並將其存儲在一個文件中,該文件將包含在我的主PHP文件中多次使用不同的變量。

包括它們時,我想指定一些變量傳遞給它。

我的例子是:

首頁

include("table-fields.php?table=sometable"); 

表fields.php

$table = $_GET['table']; 
odbc_exec(some database function WHERE TBL= $table); 

但是,如果我的理解是正確的,因爲$ _GET是全球性的,它會正在尋找main.php?表=

會更好的選擇只是設置變量包括前樂,例如:

$table = some table; 
include("table-fields.php"); 

表fields.php

odbc(some database function WHERE TBL= $table); 

我要儘量避免,如果可能的。

感謝,編

+0

'$ table = $ _GET ['table']; odbc_exec(某些數據庫函數WHERE TBL = $ table);'應該可以工作... – Ryan 2013-05-08 14:31:04

+0

可能是重複的http://stackoverflow.com/questions/5998705/url-querystring-with-a-php-include – Mattt 2013-05-08 14:31:42

+0

讀一個來自硬盤的文件與從互聯網下載文件完全不同。也許你感到困惑,因爲include()實際上可以完成這兩件事情。 – 2013-05-08 14:38:20

回答

2

當其中一個文件,該文件的內容輸出到當前文件,它不要求與HTTP,因此,所有你需要做的是:

$table = "sometable"; 

include("table-fields.php"); 

和在包含的文件,只需要使用變量:

odbc(some database function WHERE TBL= $table); 

爲包含的內容會工作得一樣,如果你在主文件等寫

+0

奇怪的是,在我們網站的另一個頁面上,我有一個腳本從數據庫中獲取用戶圖像。這是以相同的方式完成的,我在其中包含(「getimage.php?id = x」)。然後,在該腳本中,我有一個$ _GET ['id'],然後查詢數據庫。這適用於所有ID。唯一的區別是,在該腳本的末尾,我設置了標題(「type:image/jpeg」),然後回顯內容。在這種情況下可以做類似的事嗎?謝謝 – Eds 2013-05-08 14:47:40

+0

@Eds - 問題是,當使用PHP包含時,您不必使用querystring來獲取數據,而且您應該不會因爲包含的文件將成爲包含文件的一部分。你只需要在你的頁面上使用錨點等來請求基於ID等的圖像時,querystrings,而不是當做包括。 – adeneo 2013-05-08 15:49:13

+0

好的沒問題。無論如何,我認爲無論如何都要這麼做。謝謝 – Eds 2013-05-08 15:55:34

0

您必須在包含之前聲明該變量,它將在其下的代碼中可用。

$_GET用於從HTTP請求中獲取數據。

正如你指出的那樣,這將是正確的做法:

$table = some table; 
include("table-fields.php"); 

試想include作爲複製和粘貼代碼內。包含的內容中的代碼將會代替include調用。