2013-09-27 86 views
1

我有一個<input>框,要求用戶輸入他們的ID數字。進入我想要通過JSON從mysql打印關聯名稱ID在getJSON中傳遞輸入值jquery

我的問題是,我如何在JavaScript/jQuery的

$('input#name-submit').on('click', function() { //get the ID input 
    var id = $('input#name').val(); // store it in this string 

    $.getJSON("fetch.php", {id: id}, function(data) { //pass the ID in fetch.php 
     $.each(data.member, function(key, value) { 
      $("#print").text(data.emp[key]["name"]); 

     }); 
    }); 

我fetch.php傳遞ID值(不是實際的,但是這是我怎麼想它去)

if (isset['id'] == true { 
    require 'db.php'; 

$query = "select * from `members` where `member_no` = '[id]'"; 
$result = $db->($query); 

$myArray = array(); 
while ($row = mysqli_fetch_array($result)) 
     array_push($myArray, array('name' => $row [1]); 

echo json_encode(array("result" => $myArray)); 
} 

即時通訊的缺失部分是

  • 如何將id的值通過我的fetch.php通過javascript並查詢該ID的關聯名稱
  • 正確的邏輯語法my fetch.php將查詢顯示爲JSON格式,獲取結果並將其顯示在$("#print") div上。
+0

它應該工作...檢查您的瀏覽器的網絡選項卡,檢查請求發送 –

+0

也確保元素'$( '#輸入名稱')存在' ..也刪除輸入到.. $('#name')。val()' –

回答

2

更換

if (isset['id'] == true { 

if (isset($_GET['id'])) { 
    -----^^^^^^^^^^^^--- 

OR

if (isset($_REQUEST['id'])) { 
    -----^^^^^^^^^^^^^^^--- 

您正在使用if (isset['id'] == true {這是錯的,如果檢查條件,如果傳遞的值isset與否,你需要使用superglobal$_GET,$_POST,$_REQUEST

同爲MySQL查詢您正在使用['id']這表現爲正常的字符串,而不是必須使用supergloabal如上所述。

$query = "select * from `members` where `member_no` = '".$_REQUEST['id']."'"; 

OR

$query = "select * from `members` where `member_no` = '".$_GET['id']."'"; 
+0

謝謝你! :)我學到了一些東西。 – bobbyjones