使用php和ajax在表中显示查询中的值

Show values from query in a table using php and ajax

本文关键字:显示 查询 php ajax 使用      更新时间:2023-09-26

我的代码有问题,所以我有一个数组,我传递给模板,数组如下:

Array
(
[0] => Array
    (
        [ref_article] => 1903
        [ref_fournisseur] => sdsds
        [lien_fournisseur] => www.four.com
        [prix_ht] => 14.00
        [gifts_number] => 3
    )
[1] => Array
    (
        [ref_article] => 1907
        [ref_fournisseur] => sdsds
        [lien_fournisseur] => www.four.com
        [prix_ht] => 12.00
        [gifts_number] => 1
    )
)

现在在模板中我做:

for (var item in result) {
    document.getElementById('order_information').setAttribute('class','display-on');
    document.getElementById('order_information').setAttribute('class','table');
    var html = '<td>' + result[item]['ref_article'] + '</td>' +
                '<td>' + result[item]['ref_fournisseur'] + '</td>' +
                '<td>' + 'description' + '</td>'+
                '<td>' + result[item]['lien_fournisseur'] + '</td>' +
                '<td>' + result[item]['prix_ht'] + '</td>'+
                '<td>' + 'disponibilite' + 
                '<td>' + result[item]['gifts_number'] + '</td>';
    $("#content-order").html(html);
    console.log(result[item]['ref_article']);
}

问题是页面上只显示最后一个<td></td>,在本例中只显示带有[ref_article] = 1907的文章。我做错了什么?你能帮我吗?提前感谢

问题是因为您正在使用html()添加内容-这将覆盖#content-order元素中任何预先存在的内容。相反,请尝试使用append():

$("#content-order").append(html);

还要注意,您可以修改前两行,以使用jQuery选择器和addClass()方法:

$('#order_information').addClass('display-on table');

如果要清除从以前的请求中添加的信息,可以在添加新内容的for循环之前使用.empty()。下面是一个完整的例子:

// $.ajax({...
success: function(result) {
    $("#content-order").empty(); // remove existing content
    $('#order_information').addClass('display-on table');
    for (var item in result) {
        var html = '<td>' + result[item]['ref_article'] + '</td>' +
                '<td>' + result[item]['ref_fournisseur'] + '</td>' +
                '<td>description</td>' + // removed redundant string concatenation
                '<td>' + result[item]['lien_fournisseur'] + '</td>' +
                '<td>' + result[item]['prix_ht'] + '</td>'+
                '<td>disponibilite</td>' + // added missing </td>
                '<td>' + result[item]['gifts_number'] + '</td>';
        $("#content-order").append(html);
        console.log(result[item]['ref_article']);
    }
}

尝试使用此代码

var html = '<table>';
for (var item in result) {
    html += '<td>' + result[item]['ref_article'] + '</td>' +
        '<td>' + result[item]['ref_fournisseur'] + '</td>' +
        '<td>description</td>' + // removed redundant string concatenation
    '<td>' + result[item]['lien_fournisseur'] + '</td>' +
        '<td>' + result[item]['prix_ht'] + '</td>' +
        '<td>disponibilite</td>' + // added missing </td>
    '<td>' + result[item]['gifts_number'] + '</td>';
    console.log(result[item]['ref_article']);
}
html += '</table>';
$("#content-order").html(html);