0

DB から返されたレコードを表示しようとしています

私の返されたデータは次のようなものです:

UserID   Username    Fullname     ID
141        john       jerry1      170   
141        john       jerry1      18
141        john       jerry1      1169
110        ted       jerrytest    1701
110        ted       jerrytest    18

ページ内のすべての ID を表示したいが、ユーザー名の重複は避けたい

だからそれはのようになります

john    170
        18
        1169

ted     1701
        18
//I only want 2 divs (for john and ted) instead of 5. 

私のコードは現在表示されています

john    170    //1 loop
john    18     //1 loop
john    1169   //1 loop

ted     1701   //1 loop
ted     18     //1 loop

私のコード:

for(var i=0; i<results.length; i++){
  //create a div for each row...in my case, 5 divs/rows


//i tried to create a var a
   a=i-1;
   if(results[a]){
        if(results[i].Username==results[a].Username){
           continue;
        }
    }


//this will eliminate the duplicated john and ted but only show john 170 and ted 1701.

}

要約すると、各行にすべての一意の ID を表示したいのですが、重複したユーザー名は表示したくありません。これを行うより良い方法はありますか?どうもありがとう!

4

1 に答える 1

2

両方の方法を組み合わせてみませんか?

var endResult = "",
    ids = [],
    userName;

for (var i = 0, lt = results.length; i < lt; i++)
{
    ids.push(results[i].ID);
    userName = (i === 0 || results[i].Username != results[i-1].Username) ? results[i].Username : false;

    if (userName)
    {
        endResult += "<div>" + userName + "</div>";
        endresult += "<div>" + ids.join("<br>") + "</div>"

        //Reset the list of ids
        ids = [];
    }
}
于 2012-12-12T20:51:09.950 に答える