我正在使用它来解析来自PHP的JSON(age_get.php)并且它运行良好。
$.getJSON('age_get.php', function(data) {
var ticks1=[]
$.each(data, function(key, val) {
ticks1.push("["+val.index+",'"+val.value+"']");
});
var ticks6 =[(ticks1.join())]
输出是这个,正如我所说的那样。
["[90,'18-24'],[91,'25-29'],[92,'30-34'],[93,'35-39'…'60-64'],[99,'65-69'],[100,'70-74'],[101,'75-99']"]
在我的PHP文件中,mySQL查询部分是:
$sql = "select * from advanced_data where category like 'age range'";
所以,基本上,我已经让PHP从一个更大的表中“过滤”了JSON(即,有更多的列)。
每次我需要从这个数据库中获取内容时,必须有一个比创建单个PHP文件更好的方法,但我对此很新。
所以,问题是,我可以使用一个查询更像这样的PHP文件:
$sql = "select * from advanced_data;
然后在我的HTML文件/ jQuery中有一些东西本质上过滤掉了我所需要的JSON,类似于“我的PHP文件中的'age range'这样的类别”。
希望很清楚。任何想法都将不胜感激。
答案 0 :(得分:1)
是的,你可以在技术上做到这一点,但这不是一个好主意。使用ajax时,最好保持较小的数据。
不是从php获取所有内容并使用js循环搜索它,而是可以改进PHP脚本以使其接受查询。
在你的php中:
<?php
$whereCategory = isset($_GET['category'])? "where category like '{$_GET['category']}'" : '';
$sql = "select * from advanced_data {$whereCategory};";
...
在你的ajax中:
$.getJSON('age_get.php?category=testCategory', function(data) {
...
});