2014-01-31 79 views
0

因此,我目前正在尝试使用ajax和php填充一些SQL选择选项列表。我试过了各种不同的代码,但我仍然无法破解它。这是从实际页面自身的AJAX ...使用SQL填充选项列表

$.ajax ({ 
    url:'orderentry_ajax.php', 
    cache:false, 
    data: {'request': 'getCounty', 'County': County}, 
    dataType: 'json', 
    async: false, 
    success: function(data) 
    { 
     $('#errMsg').html(data.errMsg); 
     if(data.numRecs>0) 
     { 
       //divStr = divStr + data.custName + data.contactName + data.contactNumber + data.contactEmail; 
       countyStr = countyStr + "<select>"; 
       for (var i=0; i<data.dataArray.length; i++) 
       { 
        countyStr = countyStr + 
         "<option value='data.dataArray[i].County'>" + 
         "Please Select" + data.dataArray[i].County + "</option>"; 
       } 
       countyStr = countyStr + "</select>"; 
       $('#Countys').html(countyStr); 
     } 
    } 
    //countyStr =  countyStr + data.dataArray[i].County + 
}); 

就我而言,我做了一个类似的工作,除了我用填充另一个表的选项列表中,我做了两件Ajax和PHP相同,它似乎并不想工作。下面是从AJAX页面中的PHP ....

if (trim($request) =='getCounty') 
{ 
    //product update 
    $County = $_REQUEST['County']; 

    $errMsg = ""; 
    $con = mysqli_connect('127.0.0.1', 'root', 'c0mplex', 'HRDatabase'); 
    //Check if connect.. 
    if (mysqli_connect_errno($con)) 
    { 
     $errMsg = 'Could not connect to Database.' . mysqli_connect_error(); 
    } 
    else 
    { 
     // passed record for submit 
     $qryStr = "SELECT * FROM county WHERE `county` = $County"; 
     //echo $qryStr; 
     $result = mysqli_query($con, $qryStr); 
     if (mysqli_error($con)) 
     { 
      //echo (mysqli_error($con)); 
      $errFlg=1; 
      $errMsg="Error during update, please try again. " . mysqli_error($con); 
     } 
     else 
     { 
      while ($row = mysqli_fetch_array($result)) 
      { 
       $County = $row['county']; 

       $rowing = array(); 
       $rowing['county'] = $County; 
       $dataArray[] = $rowing; 
      } 
      $numRecs = mysqli_num_rows($result); 
     } 
    } 
    mysqli_close($con); 
    //to test error : 
    // $errMsg="testing error"; 
    $info ->dataArray = $dataArray; 
    $info ->numRecs = $numRecs; 
    $info ->errMsg = $errMsg; 
    $info ->County = $County; 
    echo json_encode($info); 
    //echo $msg; 

}

的选择选项列表中有“Countys”的上一个ID只给一个抬头。任何帮助将不胜感激球员。

干杯

+1

什么是你的错误,会发生什么,应该怎样?提供更多信息 – Vogel612

+0

首先检查数据是否到达目标php脚本,然后检查php脚本返回的数据是否为成功值或任何错误,最终会出现在'error'块内的ajax调用 – dreamweiver

+0

我的错误是该选择列表未被填充正在调用的SQL表。我已经完成了它,所有似乎都很好,以至于为什么它不返回任何东西。只需进行调试,并在完成后发布结果。 – Copland14

回答

0

替换下面一行在你的Ajax代码dymically添加HTML

countyStr = countyStr + "<option value='" + data.dataArray[i].County + "'>" + "Please Select" + data.dataArray[i].County + "</option>"; 
+0

谢谢@Snehal然而,不幸的是它没有改变任何东西。它只是简单的奇怪,完全相同的代码完美地在另一个选项列表上... – Copland14

+0

它是否会抛出任何错误?可能是ajax的返回值是空的 –

+0

没有,根本没有错误。虽然我正在用萤火虫进行调试,但没有检测到ajax和SQL,但仍然应该显示一些内容但不显示。 – Copland14