Php 从数据库文本字段保存并读取json_encode
我正在尝试为产品详细信息页面访问报告制作图表,1行代表1天,并为同一天的每次访问增加。此脚本是的一部分,实际上它可以工作:Php 从数据库文本字段保存并读取json_encode,php,mysql,json,Php,Mysql,Json,我正在尝试为产品详细信息页面访问报告制作图表,1行代表1天,并为同一天的每次访问增加。此脚本是的一部分,实际上它可以工作: var chartData = []; chartData = <?php echo json_encode($array); ?>; // array from db query var chart = AmCharts.makeChart("chartdiv", { //.... and so on.. 当我查询此行时,它返回数组而不是字符串。使用
var chartData = [];
chartData = <?php echo json_encode($array); ?>; // array from db query
var chart = AmCharts.makeChart("chartdiv", { //.... and so on..
当我查询此行时,它返回数组而不是字符串。使用print_r()返回:
Array ( [data] => [{"date":"2018-06-24","visits":"510"},{"date":"2018-06-25","visits":"511"},{"date":"2018-06-26","visits":"500"},{"date":"2018-06-27","visits":"508"},{"date":"2018-06-28","visits":"509"}] [0] => [{"date":"2018-06-24","visits":"510"},{"date":"2018-06-25","visits":"511"},{"date":"2018-06-26","visits":"500"},{"date":"2018-06-27","visits":"508"},{"date":"2018-06-28","visits":"509"}] )
问题:
任何答复都将不胜感激 查看您的请求是否以
string
的形式返回此信息(在名为response的变量中)
首先需要使用以下方法将字符串解析为JSON:
let myobjects = JSON.parse(response);
然后可以通过索引访问元素,例如:
alert(myobjects.data[0].date);
/* will display 2018-06-25 */
alert(myobjects.data[0].visits);
/* will display 510 */
希望能有所帮助。问题中包含的JSON数据是服务器根据ajax请求返回的,您想用javascript访问这些JSON数据吗?那是你想要的吗?是的,那是我想要的。因此,我可以使用它作为数据对象来显示图表。如果
print\u r
显示[{“date”…}]
,则这是一个字符串。PHP数组将显示为数组([date]=>…)
。使用var\u dump
确定值的类型。如何实际“查询此行”?抱歉,但当我查询数据时,它返回的是数组而不是字符串。消息:数组到字符串的转换在。。。打印时,数据查询返回:数组([数据]=>[{“日期”:“2018-06-24”,“访问次数”:“510”},{“日期”:“2018-06-25”,“访问次数”:“511”},{“日期”:“2018-06-26”,“访问次数”:“500”},{“日期”:“2018-06-27”,“访问次数”:“508”},{“日期”:“2018-06-28”,“访问次数”:“509”}][0]=>[{“日期”:“2018-06-24”,“访问次数”:“510”},{,“访问次数”:“500”},{“日期”:“2018-06-27”,“访问次数”:“508”},{“日期”:“2018-06-28”,“访问次数”:“509”}])如果$data
是数组,请使用json\u encode($data);
将其转换为字符串。刚才看到您已经更新了您的问题,因此根据$row
是您正在打印的print\r()
您需要json\u编码($row->data);
将其转换为字符串。json\u编码结果:{“data”:“[{“date\”:“2018-06-24\”,“visions\”:“510\”,{“date\”:“2018-06-25\”,“visions\”:“511\”…等等……好的,使用这个json编码($row->data,json\u斜线)
。它将解决斜线问题。
let myobjects = JSON.parse(response);
alert(myobjects.data[0].date);
/* will display 2018-06-25 */
alert(myobjects.data[0].visits);
/* will display 510 */