PHP: Код:
$category_searchresult = $db->db_query("SELECT category_code, category_name, category_comment FROM qa_categories WHERE ".$search_by." LIKE '%".$search_string."%'"); $i=1; $qa = array(); while($categories_query_result = mysql_fetch_array($category_searchresult)) { $qa[$i][] = $categories_query_result['category_code']; $qa[$i][] = $categories_query_result['category_name']; $qa[$i][] = $categories_query_result['category_comment']; $i++; } echo json_encode($qa);
Код JS:
$.ajax({ type: "POST", url: "ajax_js.php", data: search_data, cache: false, success: function(search_result) { //Print Here });
Текущий выход IS от PHP:
{"1":["4BA3CC","Fontaneria","Para la Casa"],"2":["CF0345","Herramientas","Herramients de Hogar"],"3":["1265CA","Luces","Luces de todo tipo"],"4":["4C4C9F","Vidrios","Reflectores de auto"]}
Большое спасибо
Добавить
dataType: 'json'
к вашему вызову .ajax (). Это скажет jQuery, чтобы декодировать строку JSON из PHP обратно в собственную структуру данных Javascript. В качестве альтернативы вы можете взять параметр data
в обработчике успеха и явно выполнить декодирование самостоятельно:
success: function(data) { var data = jquery.parseJSON(data); }
Не уверен, что должен быть результат, но это код, который вы можете использовать для перемещения объекта json:
for(var key in search_result) { var result = search_result[key]; //result is an array, so you can traverse or access each value by the key // or you can join all the values together var joinedValues = result.join(' | '); //joinedValues will be something like '4BA3CC|Fontaneria|Para la Case' }
Вы можете захотеть установить эти значения в объект-контейнер на странице, чтобы разделить их, конечно. Надеюсь это поможет.