While循环中的Json_encode

时间:2018-05-06 17:56:51

标签: javascript php jquery ajax database

我需要使用ajax从数据库中获取数据并将该数据放入“select”标记中。我需要在不同的“选项”中使用每个名称...查看代码:

Index.php:

<span style="height: {{sortedUsers$[i].points}} %;">

JS:

<label>Select:</label>
<select id="users"></select>

});

frombase.php:

$(document).ready(function() {
setInterval(function() {
    $.get("frombase.php", function(data) {
        data = JSON.parse(data);
        for (var id in data) {
            $("#users").empty();
            $("#users").append("<option value='"+ id +"'>"+ data[id] +"</option>")
        }
    });
}, 1000);

查看结果(我不需要这个)

enter image description here

(我的英语不好,因为我使用谷歌翻译)

1 个答案:

答案 0 :(得分:2)

我会这样做......

JS:

        $(document).ready(function() {
            $.ajax({
                url :'frombase.php',
                type: "POST",
                dataType: "json",
                success : function(data){
                    $("#users").empty();
                    $(data['options']).each(function(k,v){
                        $("#users").append("<option value='"+ v['id'] +"'>"+ v['name'] +"</option>");
                    });
                },
                error:function(){
                    alert('Error of server comunication');
                }
            });
        });

PHP:

    $db = 'YOUR CONNECTION';
    $query = $db->prepare("SELECT id,name FROM users");
    $query->execute();        
    $query->bind_result($id,$name);

    while ($query->fetch()) {
        $result[] = array('id'=>$id,'name'=>$name);
    }
    $root['options'] = $result;
    $root = json_encode($root);     
    $db->close();
    echo $root;