簡體   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