2012-11-03 85 views
1

我不能從數據庫進入jQuery的標籤插件讓我的價值觀,任何幫助將是巨大的:數據對JSON在PHP中的jQuery

PHP:

case 'get_tags': 
     $id   = (isset($_GET['id'])) ? intval($_GET['id']) : 0; 
     $query  = "SELECT description FROM `tags` WHERE page_id = '?';"; 
     $query_p = $db->prep_query($query,array($id)); 
     $results = $db->queryMakearray($query_p); 

     $tags = array_values($results); 
     $response = json_encode($results); 
break; 

JS

$(document).ready(function() 
{ 
    var _id = parseInt($.url_param('id'), 10); 
    var _tag_items = $.get('inc/ajax.php?type=get_tags&id='+_id); 
    $('#tags') 
     .textext({ 
     plugins : 'tags', 
     tagsItems: _tag_items 
    }); 
}); 

響應:

"[{\"description\":\"test\"},{\"description\":\"test2\"},{\"description\":\"test3\"}]" 

我需要它看起來像這樣:

["test","test2","test3"] 

編輯

PHP:

$id   = (isset($_GET['id'])) ? intval($_GET['id']) : 0; 
     $query  = "SELECT description FROM `tags` WHERE page_id = '?';"; 
     $query_p = $db->prep_query($query,array($id)); 
     $results = $db->query2array($query_p); 

     $tags = array_values($results); 
     $response = sanitize_output($tags); 

回答

0

你可以通過刪除密鑰解決它在PHP中。

foreach($results => $value); 
    { 
     $results[] = $value['description']; 
    } 
0

您必須在JSON(_tag_items)轉換爲數組。你可以這樣做:

var finalArray = []; 
for(var i in _tag_items) { 
    if(_tag_items.hasOwnProperty(i) && !isNaN(+i)) { 
     finalArray[+i] = _tag_items[i]; 
    } 
} 
+0

_tag_items [Ⅰ]將導致{ 「描述」: 「測試」},{ 「描述」: 「TEST2」},{ 「描述」: 「TEST3」} –

0
$(document).ready(function() 
{ 
    var _id = parseInt($.url_param('id'), 10); 
    var _tag_items = $.get('inc/ajax.php?type=get_tags&id='+_id); 
    var _newTag = []; 
    for(var i=0; i<_tag_items.length; i++) 
    { 
     _newTag.push(_tag_items[i].description); 
    } 
    $('#tags') 
     .textext({ 
     plugins : 'tags', 
     tagsItems: _newTag 
    }); 
}); 

Demo

+0

謝謝我調整了我的PHP,因爲我意識到我沒有得到正確的數據。但所有我gettin是[「陣列」,「陣列」,「陣列」,「陣列」,「陣列」]。 我會在上面更新我的代碼。 – neoszion