繁体   English   中英

返回的数据顺序不正确

[英]Incorrect Data Order Returned

我有一个MySQL数据:

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"}]

您也可以选择Index或“ badge_rank”并将其用作key:value作为JSON而不是对象数组。

最简单的方法是将badge_path的索引更改为正确的顺序。

  1. 金,
  2. 银,
  3. 布龙斯

更改数据库中的索引值修改Counting10_s.png的索引值并将其设为2,同样将Counting10_b.png的索引值更改为3

由于您使用的是按索引排序,因此将根据索引值对行进行排序。 修改索引值将为您提供所需的输出

在数据库中提供适当的索引。 根据您的查询返回正确的记录。

index    badge_rank
  1       GOLD
  2       SILVER
  3       BRONZE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM