2013-06-01 22 views
0

我在生成包含数据的动态表行时遇到问题。数据是从一个PHP脚本从数据库中获取的,客户端正在使用jQuery进行处理。 该代码仅显示没有数据值的空表行。使用JSON和PHP的动态行将不会输出数据

有人可以检查到底是什么错误吗?

JS脚本:

if(odabrano === "g"){ 

$.getJSON("nutritional_value.php?value=" + encodeURI(value), function (data) { 
var ttr = $("<tr />");  
$.each(data, function(k, v){ 
    $("<td />").text(v * (parseFloat(uneseno, 10)/100)).appendTo(ttr); 
}); 
$("#tejbl").append(ttr); 
}); 

} 

PHP脚本:

<?php 

include 'connect.php'; 

//$value = $_SERVER['QUERY_STRING']; 
$value = $_GET['value']; 


$query = mysql_query("SELECT NAME, FAT, FIBER, SUGARS FROM ccm WHERE NAME LIKE '$value%'"); 
while($run = mysql_fetch_array($query)){ 
/*  $name = $run['NAME']; 
    $fat = $run['FAT']; 
    $fiber = $run['FIBER']; 
    $sugars = $run['SUGARS']; */ 

      $results = array(); 
      $results["name"]=$run['NAME']; 
      $results["fat"]=$run['FAT']; 
      $results["fiber"]=$run['FIBER']; 
      $results["sugars"]=$run['SUGARS']; 
      //Send it to the client in json format: 
      echo(json_encode($results)); 

} 


?> 
+0

是您的AJAX调用检索任何东西,或者是数据显示中的问题? – Fallexe

+0

检索数据时出现问题,我得到空行。 – Filkatron

+0

尝试'alert(data.name)',看看你是否得到正确的值。 – Spokey

回答

2

我觉得你不是一个传递价值,为JavaScript变量value

如果你改变了的getJSON的javascript行这种情况发生什么:

$.getJSON("nutritional_value.php?value=banana",function(data){  
+0

是的,那似乎是问题所在 当我这样做时没有任何反应。空​​的 – Filkatron

+0

不,这表明这不是问题,我们看到nutrition_value.php?value = banana会返回正确的值,所以如果您使用的URL提供正确的值并仍然看到空白的TD,其他 – jcsanyi

+0

Omg我只是试了一遍,但与下面的JS代码,我得到了​​填补了权利值:D 只有名称是NaN而不是香蕉 – Filkatron

1

你可以试试这个

$.getJSON("nutritional_value.php?value=" + encodeURI(value), function (data) { 
    var ttr = $("<tr />");  
    $.each(data, function(k, v){ 
     $("<td />").text(v * (parseFloat(uneseno, 10)/100)).appendTo(ttr); 
    }); 
    $("#tejbl").append(ttr); 
}); 

有人建议PHP文件。

<?php 

include 'connect.php'; 

if(isset($_GET['value'])){ 

$value = $_GET['value']; 


$query = mysql_query("SELECT NAME, FAT, FIBER, SUGARS FROM ccm WHERE NAME LIKE '$value%'"); 

$results = array(); 

    while($run = mysql_fetch_array($query)){ 

     $results["name"] = $run['NAME']; 
     $results["fat"] = $run['FAT']; 
     $results["fiber"] = $run['FIBER']; 
     $results["sugars"] = $run['SUGARS']; 

    } 

    echo json_encode($results); 

} 

?> 
+0

同样的事情发生了,​​没有值,只是空行:s – Filkatron

+0

@Filkatron检查我的PHP文件更新 – Spokey

+0

试过了,仍然是一样的:S – Filkatron