2012-10-14 90 views
0
如何獲取MySQL數據

HTML使用Ajax時一個輸入填充

<input type="text" name="PName" /> 
<input type="text" name="PAddress" /> 
<input type="text" name="PCity" /> 

MySQL表

________________________________________________________ 
| id |PName   | PAddress   | PCity | 
| ----|-------------------------------------------------| 
| 1 | John   | po box no xyz  | Florida | 
????????????????????????????????????????????????????????? 

現在我的問題是如何使用AJAX來獲取地址和城市當我進入名字?任何幫助表示讚賞

+1

您需要了解更多關於AJAX,PHP和數據庫的信息。 – Dev

+0

嗯,這不是我的答案? :請登錄 – jinni

+0

如果您遇到任何問題,請嘗試自己並回來。 – Dev

回答

2

前一段時間,我做了一個「現場」搜索我的項目,所以這裏是一些代碼修改您的需求(我假設你有jQuery在您的網頁上)。

所有我建議首先你給你的投入一定的id:

<input type="text" name="PName" id="PName" /> 
<input type="text" name="PAddress" id="PAdress" /> 
<input type="text" name="PCity" id="PCity" /> 

在此之後,你可以綁定PNAME領域的keyup事件:

var searchTimeout; //Timer to wait a little before fetching the data 
$("#PName").keyup(function() { 
    searchKey = this.value; 

    clearTimeout(searchTimeout); 

    searchTimeout = setTimeout(function() { 
     getUsers(searchKey);  
    }, 400); //If the key isn't pressed 400 ms, we fetch the data 
}); 

的js函數獲取數據:

function getUsers(searchKey) { 
    $.ajax({ 
     url: 'getUser.php', 
     type: 'POST', 
     dataType: 'json', 
     data: {value: searchKey}, 
     success: function(data) { 
      if(data.status) { 
       $("#PAddress").val(data.userData.PAddress); 
       $("#PCity").val(data.userData.PCity); 
      } else { 
       // Some code to run when nothing is found 
      } 
     } 
    });   
} 

而且ofcourse的getUser.php文件:

<?php 
    //... mysql connection etc. 

    $response = Array(); 

    $response['status'] = false; 

    $query = mysql_query("SELECT `PAddress`, `PCity` FROM `Users` WHERE `PName` LIKE '%".$_POST['value']."%' LIMIT 1"); //Or you can use = instead of LIKE if you need a more strickt search 

    if(mysql_num_rows($query)) { 
     $userData = mysql_fetch_assoc($query); 

     $response['userData'] = $userData; 
     $response['status'] = true;    
    } 

    echo json_encode($response); 

祝你好運! ^^

+0

爲什麼不能讓這個工作? 即時通訊使用一個名爲idCardNo的字段來獲取Name和permAddress。 當我goto getUser.php?A123456(因爲我改變類型爲GET)我得到這個messege。但在我的HTML文件我不能得到結果 {「status」:true,「userData」:{「Name」:「Nizar Ibrahim」,「permAddr」:「Dhildhaaruge」}} – jinni

+0

如果您使用'Name'和'然後改變'$(「#PAddress」).val(data.userData.PAddress);'到'$(「#PAddress」).val(data.userData.permAddr);'和另一個相應的。在'SQL'中將'$ _POST'改爲'$ _GET'。哦,你應該使用'getUser.php?value = A123456'直接獲取信息。 – Arthur

+0

一個小小的幫助@Arthur請..我不能讓它繼續工作。我上傳所有的代碼http://intruderexists.0fees.net/index.html 數據庫img:http://intruderexists.0fees.net/dbase.png – jinni