2012-11-27 27 views
-1

我目前正在使用Drupal 7.將變量傳遞給不同的php文件

我有包含php文件的頁面,這些文件在其中運行mysql查詢。

在單獨的頁面上,我設置了頁面唯一的變量,因此mysql查詢將根據頁面(變量分配該頁面)運行。

到目前爲止,我一直沒有成功讓mysql識別Drupal頁面中的變量。

任何幫助將不勝感激。

這是我目前使用的代碼。

<?php 
$fundnamedir ='8'; 
$ID_CARTERA='8' 

require_once 'Queries/TableScript_Title.php'; 
require_once 'uploaded_files/individual_funds.php'; 
?> 

內部individual_funds.php它開始創建圖表,其中的MySQL爲圖表中顯示所述數據,其調用另一個chart.php文件的處理。

+0

我們看一些代碼,以便我們可以幫助你。你的問題非常模糊。 – hanleyhansen

+0

尋找'php全局變量' – crowjonah

+1

@crowjonah Yup搜索那個,馬上忘記它。 – PeeHaa

回答

1

包含的文件繼承了它們被調用的範圍。

file1.php

<?php 
    $var = "I'm a var."; 
    include('file2.php'); 
?> 

file2.php

<?php 
    echo $var; 
?> 

請注意,如果你是放置include函數裏面,你將需要delare變量爲全局,以便它可見。我懷疑這可能是你的mysql腳本沒有收到你的頁面特定變量的原因。

修改file1.php

<?php 
    $var = "I'm a var."; 
    function func() { 
     global $var; 
     include('file2.php'); 
    } 

    func(); 
?> 
+0

其他解決方法。如果你在文件2中包含file1,你可以echo $ var。你的方式會給一個未定義的變量錯誤。 – hanleyhansen

+0

是的,如果您包含一個設置變量的腳本,它將在執行返回到調用腳本時保持設置狀態。但是這並不能解決OP的問題。但是,它也適用於其他方式。我發佈的代碼片段完全按照書面形式工作。 – primo

+0

我明白你的意思了。做一個編輯,這樣我就可以帶走downvote。儘管你的回答有點誤導。如果你運行file2.php,你會得到一個未定義的變量錯誤。 – hanleyhansen