2013-01-10 53 views
-5

我的網站的用戶將能夠輸入兩個數字。一個用於表格中的列數,另一個用於表格中的行數。我的JavaScript然後構造代碼來創建此表。我的意思是表格和第一行的開始標籤被添加到變量中。然後它添加行中第一個單元格的開始單元格標記。調用包含javascript變量的PHP函數

現在我把我的PHP函數的JavaScript代碼中是這樣的:

<?php getCellInfo(1) ?> 

這個函數接受1,查詢一個MySQL數據庫的記錄與1的主鍵的功能,那麼回聲存儲名稱與主鍵1相關聯。

然後,我添加標記以關閉此單元格以保存表代碼的變量。我重複一遍用戶輸入的列數,這是通過一個while循環完成的。當循環結束時,我添加代碼結束行並開始下一個等直到我關閉表代碼。

然後我改變div的html來顯示錶格。這可行,但顯然只填充所有具有相同信息的單元格。我想增加傳遞給PHP函數的數字,我可以在javascript中執行該函數,以便在沿着單元格移動時遞增數字,但我不知道如何執行此操作。

我試着定義一個javascript變量並將它傳遞給PHP函數。該變量被稱爲cellNo,我試過這個:

<?php getCellInfo(cellNo) ?> 

但這沒有任何人可以幫助請。

+4

PHP運行服務器端JavaScript執行客戶方,這意味着所有的在線PHP將在你的JavaScript運行之前運行。要做你正在請求的東西,你很可能會想用AJAX調用來動態更新DOM。 – ernie

+2

如果javascript被禁用,則整個應用程序會崩潰。爲什麼不在後端進行這些計算? – ChrisMoll

+0

告訴我們你的代碼,所以我們可以幫助! –

回答

0

PHP運行在服務器上(裝在客戶端之前的頁面)

JS運行在客戶端,而不是服務器上(當然也有像node.js服務器端JS庫,但畢竟是off主題)

由於它們運行在不同的時間,因此不可能將JS變量傳遞給PHP函數(因爲JS變量尚未實例化)。

換句話說:當你調用一個PHP函數:

myCustomFunction(jsVariable); 

jsVariable尚未確定。

那麼我該怎麼做?

您可以通過AJAX發送您的JS變量到PHP頁面在後臺(即當用戶點擊一個按鈕等)

我在哪裏可以瞭解AJAX和PHP?

下面是關於這個問題的初學者教程:

http://www.handyphp.com/index.php/PHP-Resources/Handy-PHP-Tutorials/what-is-ajax-a-beginners-ajax-tutorial.html

+0

感謝pzirkind,實際上解釋它,即使以我能理解的方式。再次感謝 – user1041528

-1

fetchdata是在該PHP文件

事先聲明的PHP函數
$('#mytable').append(" < ? p h p echo fetchdata(2); ?>");