2012-10-04 58 views
1

cuIzgaraKay是一個javascript代碼,我想在sql命令中使用它作爲cuIzgaraKay.id(它正確地獲取了我檢查的值)。但是,我不能。我搜索了它,但我找不到我搜索的內容。我該怎麼做 ?對不起,我找不到它可能ı有邏輯錯誤如何在PHP文件中使用php代碼,而php包含javascript變量?

 if(cuIzgaraKay){ 



      <?php 
       include_once('../phps/kutuphane/inc.php'); 


    $result = mysql_query("select id from bolge_db where parent_id="?>+ cuIzgaraKay.id + <?); 
+0

什麼是錯誤信息 ? –

+0

JavaScript無法像這樣與PHP進行交互。 PHP是服務器端,JS是客戶端,所以唯一的交互是通過AJAX實現的。 – Blender

+0

當$結果行被放在代碼勝利沒有打開,並找不到贏得錯誤,當我寫數字,而不是cuızgarakay.id它工作正常 – user1702486

回答

4

據我所知,您試圖從PHP頁面執行SQL查詢,使用您生成的Javascript代碼中的數據。

JavaScript只評估您的頁面的客戶端。這意味着服務器端無法知道關於Javascript代碼的任何信息。

您需要做的是生成ID並將其傳遞到PHP後端,例如使用HTTP POST/GET請求或其他東西。

編輯:

如果你是新來的Javascript,我建議你看看本機JS XmlHttpRequest對象。你這樣使用它:

/* 
    params: 
      url:  relative URL on host, e.g. '/users/morten/data' 
      method: GET, POST, PUT, DELETE, HEAD or OPTIONS 
      data: data to send with request, e.g. POST form-data 
      ok_cb: function to call on success 
      fail_db: function to call on failure 
*/ 
function http_req(url, method, data, ok_cb, fail_cb) { 
    var client = new XMLHttpRequest(); 
    client.onreadystatechange = function() { 
     if(client.readyState == this.DONE) { 
      if(client.status == 200 || client.status == 302 || client.status == 304) 
       ok_cb(...); 
      else 
       fail_cb(...); 
     } 
    }; 
    client.open(method, url, true); 
    client.send(data); 
} 

或者你可以使用jQuery或其他一些框架來做同樣的事情。

編輯:

什麼方法在那裏我怎麼能寫那裏,我怎樣才能從PHP數據 - user1702486

的方法是你要的任何HTTP請求方法使用。請參閱維基百科頁面獲取更多信息:http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods

此代碼將POST發送到/page.php發送一個數據字符串。 如果請求返回成功的代碼,則會調用ok回調函數。

// handle HTTP OK 
var ok = function(meth, res, url) { 
    console.log("OK: got " + res); 
} 

// handle all else 
var fail = function(meth, res, url) { 
    console.log("UTTER UTTER FAILURE!\n" + res); 
} 

// make a HTTP POST to server/page.php sending the data along 
// you can serialize the data and use XML or JSON or whatever instead 
http_req("/page.php", "POST", "username=usr&password=passw&userid=12345", ok, fail); 

在PHP頁面上,您需要通過檢查數據並在適當的情況下返回一個答案來處理POST。事情是這樣的:

<?php 
if (empty($_POST)) 
{ 
    print_r($_POST); 
    ... 
    // do something with the data and print something back 
} 
?> 

如果您已經發布 「數據1 = 1234 &數據2 = 5678 &海峽=你好%20mum」 $ _POST數組看起來就像這樣:

(
    [data1] => 1234 
    [data2] => 5678 
    [str] => "hello%20mum" 
) 
+0

謝謝你能給任何鏈接,包括通過發送數據和獲取數據調用php文件的例子我試過一些例子,但它不起作用 – user1702486

+0

我會讓你一個JS代碼的一個簡單的例子,向PHP頁面發出HTTP請求。只要給我一分鐘:) –

+0

我怎麼能得到來自PHP的返回值 – user1702486

2

你不能,JavaScript是客戶端和PHP是服務器端。所以php代碼在javascript之前被執行。