我是PHP的新手,我試圖完成一些相對簡單的事情。我試圖讓PHP從MySQL讀取數據並將其繪製在Web界面上。主腳本(index.php)中的代碼查詢MySQL並將兩個數值數組讀入兩個php變量$ x和$ y。數據加載後,可以使用AJAX將其繪製在index.php上。用戶可以點擊一個按鈕(html),其中的onclick事件使用AJAX加載另一個PHP腳本,將執行所需的情節。我有義務將繪圖代碼(對於幾種類型的繪圖)添加到單獨的文件中,而不是作爲index.php中的函數,因爲AJAX和onclick事件只能加載服務器上的另一個文件(例如php文件),而不能一個php函數在變量是(index.php)的同一個文件中。因此,執行繪圖的php腳本無法訪問變量$ x和$ y,因爲它們是在index.php中聲明的。我正在尋找一種方法來使變量$ x,$ y(在index.php中聲明)可以從AJAX調用的不同繪圖腳本訪問。如何在不使用include的情況下從不同的PHP腳本訪問變量()
我嘗試聲明爲靜態和全局,但它們($ x和$ y)在繪圖腳本中保持不可見。很明顯,我不能在繪圖腳本中導入index.php,也不能從文件中讀寫$ x和$ y。我嘗試使用JavaScript函數,它將使用document.write()在onclick中包含繪圖代碼,長話短說,它也不起作用,並且我一直無法在互聯網上找到解決方案。
<?php
//loading data from mysql
$x = ... //$x and $y are declared here
$y = ...
//basicplot.php is unable to access $x and $y
echo "<button type=\"button\" onclick=\"loadXMLDoc('basicplot.php', 'mydiv')\">Plot data</button>";
echo "<div id=\"mydiv\"><br>[plot goes here]</div>";
?>
注:繪製不工作時,我從basicplot.php代碼複製到的index.php但因爲我想有很多類型的地塊,這不是一個真正的選擇。
使用GET或POST方法在AJAX請求中傳遞您的$ x和$ y值,以便您的劇情腳本可以知道它們。 – Alyas