我有json数组,我试图用逗号分隔来获取数组值。 Mysql查询并通过json数组循环
if($_REQUEST['grpid']) {
$sql = "SELECT cnumber, group_id FROM tbl_contact WHERE group_id ='".$_REQUEST['grpid']."'" ;
$resultset = $connecDB->query($sql);
//$resultset = mysqli_query($connecDB, $sql) or die("database error:". mysqli_error($connecDB));
$data = array();
while( $rows = $resultset->fetch_assoc() ) {
$data[] = $rows;
}
echo json_encode($data);
} else {
echo 0;
}
JS:
$("#gnumbers").change(function() {
var id = $(this).find(":selected").val();
var dataString = 'grpid='+ id;
$.ajax({
url: 'getGroupNumbers.php',
dataType: "json",
data: dataString,
cache: false,
success: function (data) {
var i, l;
for (i = 0, l = data.length; i < l; i++) {
$("#num").text(data[i].cnumber);
//console.log(data[i].cnumber);
}
}
});
});
结果仅显示最后一行。以下是输出:
我想,我怎样才能在我的textarea中用逗号分隔所有 cnumber 数据?
答案 0 :(得分:0)
您可以在循环的每次迭代后将.text()
更改为.append()
。
success: function (data) {
var i, l;
for (i = 0, l = data.length; i < l; i++) {
if(i==0) { // if 1st, use .text()
$("#num").text(data[i].cnumber);
} else { // if not 1st, use .append() and prepend a comma
$("#num").append(", "+ data[i].cnumber);
}
//console.log(data[i].cnumber);
}
答案 1 :(得分:0)
你应该尝试:
var values = [];
$("#gnumbers").change(function() {
var id = $(this).find(":selected").val();
var dataString = 'grpid='+ id;
$.ajax({
url: 'getGroupNumbers.php',
dataType: "json",
data: dataString,
cache: false
}).done(function (data) {
$.each(data, function (i,e) {
values.push(data.cnumber);
});
$("#num").append(values.join(','));
}).fail(function () {
// Fails
});
});
在此处设置一个名为values
的数组,并在此数组中学习结果。此外,您应该使用正确的ajax调用语法。请参阅documentation。