2013-11-04 18 views
0

我有一個從我的數據庫返回數組像這樣的AJAX請求:追加數組的所有值一個錶行

$objet['name'] 
$objet['date'] 
$objet['amount'] 

當我做一個each功能,它爲每個行和鑰匙的迭代器,

我想對每一行進行一次迭代並在表格行中顯示數據。下面是我的代碼:

$("#show_debours").dialog("open"); 
    var groupe_debours = $(this).closest('tr').find('.groupe').val(); 
    $.ajax({ 
     type: "POST", 
     url: "requetes_ajax/fetch_debours_detail.json.php", 
     data: "groupe=" + groupe_debours, 
     success: function(data){ 
      $('.remove').remove(); 
      $.each(data, function (data) { 
       $('#fetchdebours tr:last').after('<tr class="remove"><td>' + data.libelle_debours + '</td><td>' + data.date + '</td><td>' + data.debours_montant_ht_tva + '</td><td>' + data.debours_montant_ht_no_tva + '</td><td>' + data.debours_montant_ttc + '</td></tr>') 
       //alert(key + ': ' + value); 
      }); 
     } 
    }); 
}); 

一切工作正常,但不是所有的值返回一行,就返回因爲有行和變量

例如,如果我有3行作爲多行我數據庫它返回給我我的表中的9行。它不應該。

在PHP我做

<?php 
    foreach($data as $row): 
     echo "<tr><td>{$data['name']}</td><td>{$data['date']}</td>{$data['amount']}</tr>"; 
    endforeach; 
?> 

這工作得很好,它返回給我3排裝滿所有值。我想在jQuery中一樣,但我不知道如何。我做了一些沒有成功的研究。

任何形式的幫助將非常感激

+2

所以這實際上與sql或mysql沒有任何關係 - 而且與php沒有多大關係? – Strawberry

+0

_「jquery數組」_ - 那是什麼?撇開,如果你確切地展示了Ajax響應中的內容,這將有所幫助。 – nnnnnn

+0

ajax回調是一個<?php session_start(); require_once('../../ config/config.inc.php'); require_once include'../lib_php/getcash.php';如果(!isset($ _ SESSION ['id'])){ // //關於我們,請繼續閱讀我們的最新消息vers'accueil header('Location:../'); exit(); } header('Content-type:application/json'); $ groupe = $ _POST ['groupe']; $ result = fetchDebouursByGroupe($ groupe); echo json_encode($ result); –

回答

1

因爲您要建立在每次迭代中tr元素,它會創建多個行。試試這個:

success: function(data){ 
    $('.remove').remove(); 
    var $tr = $('<tr />', { 'class': 'remove' }); 
    $.each(data, function (data) { 
     $tr.append('<td>' + data.libelle_debours + '</td><td>' + data.date + '</td><td>' + data.debours_montant_ht_tva + '</td><td>' + data.debours_montant_ht_no_tva + '</td><td>' + data.debours_montant_ttc + '</td>'); 
    }); 
    $('#fetchdebours tr:last').after($tr); 
} 
+0

我試過這回它給我1行而不是兩行 –

+0

兩行?你的整個問題表明你想要一行上的所有值......? –

+0

沒有其實我的意思是值 類似的東西 $ OBJET [「名」] $ OBJET [「日期」] $ OBJET [「量」] ,但我希望他們水平的演出,但陣中擁有有很多記錄,所以這個記錄應該垂直顯示 –