你好,抱歉我的英语不好: - )
我的json数据有点问题。
我有一个mysql数据库。在这个数据库中,我已经以日期格式保存数据。 但日期格式采用以下格式:YYYY.MM.DD。 我需要格式DD.MM.YYYY。 好吧,我用这种方式改变了请求:
$rs = mysql_query("SELECT event_name, DATE_FORMAT(beginn,'%d.%m.%Y'), DATE_FORMAT(ende,'%d.%m.%Y') FROM party WHERE ende >= CURDATE()ORDER BY beginn ASC");
现在我使用正确的日期格式
获取此字符串{"sommer":[{"event_name":"testevent","DATE_FORMAT (beginn, '%d.%m.%Y')":"28.01.2015","DATE_FORMAT (ende, '%d.%m.%Y')":"30.01.2015"}]}
但现在我有了问题,用我的javascript。 在我这样做之前:DATE_Format(开头,'%d。%m。%Y'),我得到了日期(但格式不正确)。 现在我一无所获。
这里是我的javascript:
var url="party.php";
var activitydetail = sessionStorage.activitydetail;
$.getJSON(url,function(json){
$.each(json.sommer,function(i,item){
$('<li><a href="#'+item.event_name+'"> '+item.DATE_FORMAT (beginn, '%d.%m.%Y')+' - '+item.event_name+'</a></li>').appendTo('#accor2');
});
});
此功能不再适用于'+item.beginn+'
且无法使用'+item.DATE_FORMAT(beginn, '%d.%m.%Y')+'
有人知道解决方案吗?
提前非常感谢: - )
答案 0 :(得分:2)
你没有准备好你的json字符串,所以你有:
{"sommer":[{"event_name":"testevent","DATE_FORMAT (beginn, '%d.%m.%Y')":"28.01.2015","DATE_FORMAT (ende, '%d.%m.%Y')":"30.01.2015"}]}
表示您的媒体资源名称为"DATE_FORMAT (ende, '%d.%m.%Y')"
但在您的js代码中,您试图获得:
item.beginn
毫无意义。
所以我的建议是将你的json字符串(我想在php端的某处)改为:
{"sommer":[{"event_name":"testevent","beginn":"28.01.2015","ende":"30.01.2015"}]}
如果我看到你这样做的方式,你可以在sql查询中做到这一点:
mysql_query("SELECT event_name, DATE_FORMAT(beginn,'%d.%m.%Y') as beginn, DATE_FORMAT(ende,'%d.%m.%Y') as ende FROM party WHERE ende >= CURDATE()ORDER BY beginn ASC");
我认为你将能够更轻松地修复你的js。