2013-02-09 89 views
3

我想从SQL查询中获取数组中的数据到ajax成功数据。这里是我试图代码,如何从php数据库中的数据库查询中获取数组数据到ajax成功数据

function adminchecksub(value1){ 
//alert('hi'); 
var value1=$('#adminsid').val(); 
//alert(value1); 
if(value1==''){ 
alert('Please enter a Sub id'); 
} 
else{ 
//alert(value1); 
$.ajax({ 

             type: 'POST', 
             url: root_url + '/services/services.php?method=adminsubcheck', 
             data: {value1:value1}, 
             async: true, 
             success: function (data) { 
               alert(data); 

               if (data == 1) { 
                 alert('inside'); 
                 //window.location.assign(rdurl+"?sid="+sid); 
                 return true; 
               } else { 
                 //alert('does not exist!'); 
                 //alert('outside'); 
                 return false; 
               } 

             } 
           }); 
} 
现在在从上述AJAX调用请求的PHP的方法

,我必须获得此功能的数据返回其被返回一个数组

function adminsubcheck($sid){ 
$subid=$sid['value1']; 
$row = array(); 
//echo $subid; 
$query = "SELECT Sub_id,Status,Sub_type FROM Sub WHERE Sub_id=$subid";   
     //echo $query; 
     //echo $subid; 
     $queryresult = mysql_query($query); 
     $count = mysql_num_rows($queryresult); 
     //echo $count; 

     while ($r = mysql_fetch_assoc($queryresult)) { 

      $row[] = $r; 
     } 
     return $row; 

} 

这里$ row将数组作为数据返回给ajax函数,我需要分别获取所有项目。有人帮助我将值传入ajax调用。在此先感谢..

回答

0

在你的PHP文件中,y OU可以回到你的数组以下列方式JSON对象(注意PHP文件如何回声结果传回给JavaScript)

... 
$json = json_encode($row); 
echo $json 

现在,添加以下到您的javascrip AJAX

$.ajax({ 

... 
// Whatever code you currently have 
... 

}).done(function (json) { 

    var data = JSON.parse(json); 

    //Continue with javascript 
}); 

您可以处理Java脚本变量“数据”作为关联数组就像是在PHP

还,看你如何填充PHP变量$行和调整方式如下:

$cnt = 0; 
while ($r = mysql_fetch_assoc($queryresult)) { 

     $row[$cnt] = $r; 
     $cnt++; 

} 
$json = json_encode($row); 
    echo $json; 

在JavaScript中,你可以在格兰数据变量访问行方式如下:

var value = data[0]['field_name']; 

在上面的语句,0将对应于$ CNT的值(即mysql返回行号)

+0

感谢答案它真的帮助了我,但我想从数据中获得值,我试过这样,我得到了这些值进入JS变量,但需要做到这一点: 成功:函数(数据)var value2 = data ['sub_type']; var value3 = data ['status']; if(value2 ==“PTC”&& value3!=“”)alert(value2); alert(value3); window.location.assign(root_url +“/ public /'+ value2'/ id =”+ value1); 返回true; } 这是带我到“public /'+ value2'/ id = 30” 这里value2不打印为PTC我怎样才能得到这些值到url – xyz9999 2013-02-09 04:50:28

+0

在PHP中,看看你是如何填充变量$行,我现在更新我的答案,以帮助解释 – Tucker 2013-02-09 04:51:39

+0

请给出任何建议,以便我从数据中获得的值分配给变量,以便我需要使用window.location.assign重新定位页面('using这些值') – xyz9999 2013-02-09 04:58:35

0
return $row; 

更换这样

echo json_encode($row); 

和阿贾克斯如果你想获得Ajax调用我的价值添加的dataType = 'JSON' 这样

dataType: 'json', 
0

认为它应该是:

while ($r = mysql_fetch_assoc($queryresult)) { 
     $row[] = $r; 
    } 

    echo json_encode(array('data'=>$row)); 
    exit;