我有一个MySQL数据:
我尝试使用jquery获取它们:
$.post(
'../php/teacheradminfunction.php',
{'functions':'getBadgeImg','topicSkill':$('#selTeachAdminBadgeDeleteSkill').val()},
function(data) {
$.each(data, function( key, value ) {
alert( key + ": " + value.badge_path );
});
},'JSON'
);
我的PHP脚本:
$queryStmt = 'SELECT badge_path FROM badges WHERE badge_skill=:sqlSkill ORDER BY `index` ASC';
$queryPrepare = $dba_connect->prepare($queryStmt);
$queryPrepare->execute(array(':sqlSkill'=>$_POST['topicSkill']));
$queryResult = $queryPrepare->fetchAll(PDO::FETCH_ASSOC);
$queryPrepare->closeCursor();
echo json_encode($queryResult);
我的问题是我需要有正确的订单,我得到的是:
[{"badge_path":"..\\image\\badges\\Counting10_g.png"},{"badge_path":"..\\image\\badges\\Counting10_b.png"},{"badge_path":"..\\image\\badges\\Counting10_s.png"}]
预期结果:
[{"badge_path":"..\\image\\badges\\Counting10_g.png"},{"badge_path":"..\\image\\badges\\Counting10_s.png"},{"badge_path":"..\\image\\badges\\Counting10_b.png"}]
答案 0 :(得分:-1)
您也可以选择索引或“badge_rank”并将其用作键:值作为JSON而不是对象数组。
最简单的方法是将badge_path的索引更改为正确的顺序。
答案 1 :(得分:-1)
更改数据库中的索引值 修改Counting10_s.png的索引值并使其为2 并同样更改Counting10_b.png的索引值并使其为3
由于您按索引使用顺序,因此行将根据索引值进行排序。修改索引值将为您提供所需的输出
答案 2 :(得分:-1)
在数据库中提供适当的索引。根据您的查询,它会返回正确的记录。
index badge_rank
1 GOLD
2 SILVER
3 BRONZE