2013-06-01 52 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