2017-03-14 6 views
0

私は、サーバー上のDBからデータを受け取り、配列にプッシュする機能があります。つまり、プッシュメソッドとオブジェクトのプロパティを使用してphpからJS配列にentiesを追加する

function Preload() { 
    var valueToPush = {}; 
    var userID1 = '<?php echo $id_user;?>'; 
    $.ajax({ 

    url: 'TR.php', 
    type: 'POST', 
    data: { 
     userID1: userID1 
    }, 
    success: function(data) { 

     var names = data 
     $('#result_div_id').html(data); 
     var json2 = $.parseJSON(data); 
     EntriesCount = json2.length; 
     $(json2).each(function(i, val) { 
     $.each(val, function(k, v) { 

      switch (k) { 
      case 'Name': 
       valueToPush.Name = v; 

      case 'Phone': 
       valueToPush.Phone = v; 
      } 
      name2.push(valueToPush); 
     }); 
     }); 
     currententry = 0; 
    } 
    }); 

} 
} 

ただし、このコードでは配列に1つのエントリしか追加されません。他のエントリーは定義されていません...私は間違っていますか?

+0

タグphp dude;) – JustARandomProgrammer

+2

実際には、JS構文を調べる必要があります。初心者は、それぞれの 'case'を壊す必要があります。そうでなければ、コードは評価を続けます。それぞれの 'case'の終わりに' break; 'を追加してください。 –

+0

Ruby Racerに: ありがとう、やったよ!しかし、今度は私の配列を次のように埋めています: name2 [1] [名前] = [名前] = [名前] = Vasya、name2 [3] [Name] = Vasya、name2 [4] [Name] =ボブ、ネーム2 [3] [Name] =ボブ、ネーム2 [2] [Name] =ボブ、ネーム2 [3] [名前] = John、name2 [4] [Name] = Anna、...など... –

答えて

0

あなたはの名前2に間違った場所を押しているようです。最初の繰り返しでこれを行う必要があります。


編集:JSONの例を取得した後、2番目の反復は結局必要ないと思います。そこで私は以下の最終コードを書き直しました。

最終的なコードは次のようになります:

function Preload() { 
    var userID1 = '<?php echo $id_user;?>'; 
    $.ajax({ 

     url: 'TR.php', 
     type: 'POST', 
     data: { 
      userID1: userID1 
     }, 
     success: function(data) { 

      var names = data; 
      $('#result_div_id').html(data); 
      var json2 = $.parseJSON(data); 
      EntriesCount = json2.length; 
      $.each(json2, function(i, val) { 
       var valueToPush = { 
        Name: val.Name, 
        Phone: val.Phone 
       }; 
       // if you want to copy all values just do 
       // name2.push(val); 
       name2.push(valueToPush); 
      }); 
      currententry = 0; 
     } 
    }); 

} 

}ペドロValentimに

+0

@Ruby Racerによると、2番目の反復は本当に必要ではないと思います。しかし、まず、TRsonからJSsonが来ている様子を見てください。 –

+0

1. 2分前にこの質問にJSONを書きました。 2.コードが機能しません。その哀れみ( –

+0

今コードは、私のDBの最後のエントリだけをプッシュします。) –

0

[{"ID_Clients":"87","Name":"\u0412\u0430\u0441\u044f","Phone":"1234578","Status":"4","Birthday":"2016-10-21","ClientFrom":"4","User":"2"},{"ID_Clients":"88","Name":"\u041f\u0435\u0442\u044f","Phone":"2345669","Status":"3","Birthday":"2016-10-11","ClientFrom":"2","User":"2"},{"ID_Clients":"89","Name":"\u0410\u043d\u0442\u043e\u0448\u043a\u0430","Phone":"7897574","Status":"3","Birthday":"2016-10-01","ClientFrom":"2","User":"2"},{"ID_Clients":"142","Name":"888","Phone":"8","Status":"7","Birthday":"0000-00-00","ClientFrom":"3","User":"2"},{"ID_Clients":"143","Name":"9998888555","Phone":"6","Status":"5","Birthday":"0000-00-00","ClientFrom":"1","User":"2"},{"ID_Clients":"145","Name":"333","Phone":"6","Status":"3","Birthday":"0000-00-00","ClientFrom":"3","User":"2"},{"ID_Clients":"146","Name":"66","Phone":"66","Status":"1","Birthday":"2016-11-16","ClientFrom":"1","User":"2"},{"ID_Clients":"151","Name":"\u0412\u0430\u0441\u044f","Phone":"1234578","Status":"8","Birthday":"2016-10-03","ClientFrom":"1","User":"2"},{"ID_Clients":"158","Name":"999","Phone":"999","Status":"2","Birthday":"2001-12-12","ClientFrom":"2","User":"2"},{"ID_Clients":"194","Name":"NEW CLIENT","Phone":"+7936000344","Status":"1","Birthday":"2016-11-02","ClientFrom":"1","User":"2"},{"ID_Clients":"195","Name":"NEW CLIENT","Phone":"+7936000344","Status":"1","Birthday":"2016-11-02","ClientFrom":"1","User":"2"},{"ID_Clients":"196","Name":"NEW CLIENT","Phone":"+7916120648","Status":"1","Birthday":"2016-11-02","ClientFrom":"1","User":"2"}] 

、今私がしようとします:

私のJSONですアレイの押し込み場所を固定する。どうもありがとう!

関連する問題