2017-12-06 5 views
0

私がしたいこと

ユーザーが管理者にメッセージを送信するシステム。firebaseでuidを使ってユーザー情報を取得するには?

進捗

  • は、ユーザーがメッセージを残した場合、管理者はそれらのリストを見たいUID(成功)
  • GETユーザー情報(失敗)

を取得します。データベースにおいて

messages { 
    uid1 { 
     key1 { 
      name : "user name" 
      text : "text that user remained"    
      created_at : "time that message created" 
     } 
     key2 { 
      … 
     } 
     … 
    } 

    uid2 { 
     … 
    } 
} 

Iは、上記のような情報を格納します。この情報を管理ページのリストとして表示することができます(そして、管理者がメッセージを見るためにリストをクリックしてください)。

しかし、私は各uidの読み込みに成功しましたが、 `uid 'を使ってユーザーの情報を取得してください。ここで

は(今)出力されます:ここで

<div>uid1</div> 
<div>uid2</div> 

は、コードは次のとおりです。

function getListItem() { 
    var messagesRef = database.ref('personalchats') //personalchats 에 있는 uid로 접근 
    messagesRef.on('child_added', setListItem); 
    messagesRef.on('child_changed', setListItem); 

} 

function setListItem(data) { 
    var key = data.key; 

    var html = '<div class="listitem"> ' + key + '</div>; 

    $(".collection").append(html); 
} 

私はこの結果になりたい:

<div>userName1 : current message</div> 
<div>userName2 : current message</div> 
... 

私は何を行うことができますそれ?

ありがとうございます。

答えて

1

data()を使用してデータを変換し、データベースで指定された値の名前を使用してデータを抽出します。

function getListItem() { 
     var messagesRef = database.ref('personalchats') //personalchats 
     messagesRef.on('child_added', setListItem); 
     messagesRef.on('child_changed', setListItem); 
    } 

    function setListItem(data) { 
     var key = data.key; 
     // create a variable to store the data 
     var dataVal=data.val(); 
     var msgtext=dataVal.text; 

     var html = '<div class="listitem"> ' + key + ': '+ msgtext</div>; 
     $(".collection").append(html); 
    } 
+0

ご回答ありがとうございます。私はそれを試してみます! – Centell

関連する問題