2017-04-23 80 views
0

我試圖代碼的功能是一個用戶輸入ID整數成箱中,JS讀取盒和使用JSON和Ajax該數據發送到PHP文件。 該文件將在ID和運行MySQL查詢並返回該回答到一個變量被送回JavaScript和投入的表。 我被困在如何讓PHP變量發送回JavaScript或它返回的格式,任何幫助將不勝感激。發送與MySQL數據PHP變量回到JavaScript和AJAX

$("#sid").click(function() { 
    var selectID = document.getElementById("selectedID").value;//selects the ID it wants to 
    var jsonSID = {"ID":selectID}; 
    var jsonSelectID = JSON.stringify(jsonSID); 


    if(selectID=='') 
     alert("Please select an ID to find"); 
    else{ 
     alert("goes to ajax") 
     $.ajax ({ 
      type:"POST", 
      url:"viewData.php", 
      data: {selectData: jsonSelectID}, 
      dataType: 'json', 
      success: function(data){ 

       console.log(data.id); 
       console.log(data.name); 
      }, 
      error: function(e){ 
       alert("Didn't work, refresh and it should work"); 
      } 

     }); 
    } 

}); 

PHP文件

  <?php 
    $link = mysqli_connect("localhost", "root", "", "assignment5"); 
    if($link === false){ 
     die("ERROR: Could not connect. " . mysqli_connect_error()); 
    } 
      $json = $_POST['selectData']; //Takes in the selected ID array 
      $data = json_decode($json); //decodes the selected ID JSON array 
      $selectedID = $data->ID; // this is the user selected ID 

      $query = "SELECT * FROM datadump WHERE id = '$selectedID'"; //You don't need a ; like you do in SQL 
      $result = mysql_query($query); 
       $array = mysql_fetch_row($result); 
       echo json_encode($array); 
    ?> 
+0

分裂前端可粘貼的console.log的'輸出(數據);' –

+1

什麼是或不是發生了什麼? *「我卡住了」*沒有告訴我們任何有意義的東西。另外如果沒有$結果呢?它總是最容易寫出完美的作品的一部分......它是走的時候其他意外事件的放在一起 – charlietfl

+0

它不返回任何信息,而給我約一個錯誤意想不到的「<」或只是返回什麼都沒有。 – MrShedford

回答

0

注:MySQL的ID棄用更好地切換到庫MySQLi或PDO

如果你想訪問一個或兩個變量的變量,你可以孫中山數組,並可以像這樣回顧:

success: function(data id){ 
    alert(data); 
    alert(id); 
}, 

如果要檢索多個記錄,你需要這樣的 : 有從獲取你的PHP錯誤應該是這樣的:

$query = "SELECT * FROM datadump WHERE id = '$selectedID'"; 
    $result = mysql_query($query); 

    while($res = =mysql_fetch_array($result)){ 
    $data[] = $res; 
    } 
$res['data'] = $data; 
echo json_encode($res); 

即發送JSON對象後,並在您需要$.each function