#php #jquery #arrays #json
#php #jquery #массивы #json
Вопрос:
как указано в названии. как мне это сделать? я читал на каком-то форуме, чтобы использовать stringify?и как мне это использовать?
PHP:
$notes = $db->query("SELECT * FROM notes WHERE id_user = '$id_user'");
$output = array();
while($note = $notes->fetch_assoc()) {
$noting = '<span class="block_note">'.$note['note'].'</span>';
array_push($output, $noting);
}
$data['ok'] = true;
$data['message'] = $output;
echo json_encode($data);
jQuery:
$.get("include/get_details.php?id_user=1",function(data){
if (data.ok){
$.each(data, function(key,id){
$("#notes").append(data.message);
})
}
}, "json");
Вывод:
{
"ok":true,
"message":[
"<span class="block_note">note1</span>",
"<span class="block_note">note2</span>",
"<span class="block_note">note3</span>"
]
}
Комментарии:
1. Я не понимаю этого вопроса. Используя json_encode, вы (в некотором смысле) преобразуете массив в строку (или объект). Как вы хотите это использовать? Где ошибка?
Ответ №1:
$.get("include/get_details.php?id_user=1",function(data){
if (data.ok){
$.each(data.message, function(key,value){
$("#notes").append(value);
})
}
}, "json");
Комментарии:
1. Спасибо.. я пробовал раньше, по какой-то причине это не сработало .. и все работает нормально. странно .. lol.. большое спасибо 🙂
Ответ №2:
Ответ №3:
Я считаю, что самым простым способом сделать это было бы использовать jQuery .Функция toArray(), а затем javascript join() .
Вот так:
var myArray = $(".block_note").toArray();
myArray.join("");
Ответ №4:
$.get("include/get_details.php?id_user=1",function(data){
if (data.ok){
$.each(data.message, function(key,id){
$("#notes").append(id);
});
}
}, "json");
Посмотрите на скрипку здесь http://jsfiddle.net/ryan_s/58cLY /
Ответ №5:
data.message
это JavaScript Array
, поэтому вы можете просто использовать Array.join
метод:
...
if (data.ok){
$("#notes").append(data.message.join(""));
}
...
Array
Объект также предоставляет различные методы итерации, которые вы должны найти полезными.
PS: вы также можете написать свой PHP-код следующим образом:
$data = array();
$data['message'] = array();
while($note = $notes->fetch_assoc()) {
$data['message'][] = '<span class="block_note">' . $note['note'] . '</span>';
}
$data['ok'] = true;