2011-06-13 30 views
3

我在我的Javascript腳本中有一個函數需要與PHP通話以獲取數據庫中的數據。但是我遇到了一個小問題,因爲我在JavaScript中的for循環中啓動了PHP,然後在那個for循環中我得到了數據庫中的數據。但在PHP代碼中的for循環指針不工作..我想問題是在逃避?或者根本不可能。如何將PHP和Javascript結合在一起?

這裏是我的代碼:

(function() { 
    var data = []; 
    for(var i = 0; i < 25; i++) { 
    data[i] = { 
     data1: "<a href='<?= $latest[?>i<?=]->file; ?>'><?= $latest[?>i<?=]->title; ?></a>", // The problems 
     data2: .... 
    }; 
    }; 
}); 
+0

搜索AJAX .... – dynamic 2011-06-13 17:52:57

+3

變量我不在php作用域,所以它不會被php解析器解析瀏覽器在客戶端運行javascript – 2011-06-13 17:57:12

+0

@g molvi,是的。我知道..有沒有辦法讓變量我在PHP範圍內? – 2011-06-13 17:59:21

回答

6

我想你感到困惑,你試圖使用JavaScript的變量在PHP。

你不能做到這一點:

​​

它展開:

<?php 
    $latest[ 
?> 
i 
<?php 
]->file; 
?> 

你怎麼可能知道的i的值,如果i是在客戶端所產生的變動?做不要混淆想法,i在瀏覽器中定義,並且php代碼在服務器上。

+0

的php的例子,所以不可能將這兩個腳本混合在一起? – 2011-06-13 18:05:27

+1

至少不是這樣,你將不得不使用ajax,並在服務器端完成一個特定腳本的完整請求,請記住中的所有內容,切勿觸及客戶端(例如,只有專門用'echo'打印的例子),你可以製作一些腳本作爲參數(使用$ _GET來獲取參數)索引,並用文件的內容做出響應。 – cyraxjoe 2011-06-13 18:10:19

+0

ic,好的..非常感謝 – 2011-06-13 18:14:26

0

1.Pass JavaScript變量的URL在PHP頁面。

window.open("<yourPhpScript>.php?jsvariable="+yourJSVariable); 

2.然後你可以在php腳本中使用$ _GET來使用這個變量。

$jsVaribleInPhp=$GET['jsvariable']; 
//do some operation 
$yourPhpResult; 

3.在Php中執行任何服務器端操作並傳遞此結果。

header("Location:<your starting page>?result=".$yourPhpResult); 

4.重定向回你開始的頁面,從而傳遞PHP的結果。

PHP和Javascript在Web開發中有不同的角色。 如果在同一頁面有一個php腳本和js,也可以執行此任務。但是我讓讀者去解決它。

希望這有助於!

相關問題