2013-03-22 49 views
1

我有這樣的PHP代碼,檢索和數據庫提供格式JSON字符串

$dblink = mysql_connect('localhost', 'root', '') or die(mysql_error()); 
mysql_select_db('payment'); 

$query = mysql_query("SELECT level FROM levelPrice WHERE code = 101"); 
$rows = array(); 
while($r = mysql_fetch_assoc($query)) { 
    $rows[] = $r; 
} 
echo json_encode(array("#" => $rows)); 
?> 

節省了現場和我的HTML我有這樣的:

<script> 
    $.getJSON('getLevel.php', function(data) { 
    $("#level").val(JSON.stringify(data)); 
    }); 
    </script> 

的事情是,它確實會返回價值,但它會出現很多垃圾。它看起來像這樣的網站:{"#":[{"level":"4"}]} 當我只需要在網站上顯示的號碼(例如#4),沒有所有的括號和東西。 謝謝!

+0

試着這麼做:」'$( 「#級別」)VAL(data.level [0 ]);'記住JSON代表JavaScript ** Object ** Notation。檢查例子到最後[here](http://api.jquery.com/jQuery.getJSON/)。使用'console.log()'想知道你正在訪問什麼,如果你卡住了。 – ficuscr 2013-03-22 18:00:30

+1

更改'JSON.stringify(數據)'爲'數據['#'] [0] ['水平']'? – Dave 2013-03-22 18:00:46

+0

想@Dave得到了我想要的說正確表達... – ficuscr 2013-03-22 18:01:53

回答

1

您只需從數據庫中提取一行。

$query = mysql_query("SELECT level FROM levelPrice WHERE code = 101"); 
$row = mysql_fetch_assoc($query); 
echo json_encode(array("#" => $row['level'])); 

代碼然後就創建了一個簡單的數組和JSON編碼它,這個輸出:

{'#': 'LEVEL-HERE'} 
+0

它仍然出現{「#」:「4」},有沒有什麼可以擺脫{#「: – user2171763 2013-03-22 18:13:30

+0

'json_encode($ row ['level']);'? – Cal 2013-03-22 18:14:16

0

您正在使用一個函數從JavaScript獲取json,並且您在php腳本中回顯json。所以結果會是json。

你可以只使用load你的情況:

$("#level").load('getLevel.php'); 

,改變你的echo聲明:

echo '#' . $rows[0]; 

你並不真的需要或者產生一個數組,但這取決於給你改變,如果你想。

+0

它應該與此.. $ query = mysql_query(「SELECT level FROM priceLevel WHERE clavePrecioNivel = 101」); $ row = array(); $ row = mysql_fetch_assoc($ query); echo'#'。 $行[0]; 但它不會加載網站中的任何內容,其中包含 $(「#level」)。load('getLevel.php'); – user2171763 2013-03-22 18:20:09