#php #jquery #json #ajax #append
#php #jquery #json #ajax #добавить
Вопрос:
Я получаю массив через PHP и хочу добавить его в таблицу, но я пытался сделать это за последние 2 дня и использует все функции, доступные в stackoverflow, но они не работают… Пожалуйста, разработчики, помогите мне и научите меня, как я добавляю выходные данные в таблицу, как показано ниже —
PHP-код :-
$result = $stmt->fetchAll();
foreach($result as $data => $value) {
//$QL QUERY HERE
$data = array('name' => $value["name"], 'amount' => $amount, 'invoice' => $Invoice, 'response' => '200');
echo json_encode($data);
}
exit();
Мой PHP-ответ :-
{"name":"AMAZON_FBA","amount":"1","invoice":"25","response":"200"}
{"name":"AMAZON_IN","amount":"12","invoice":"22","response":"200"}
{"name":"FLIPKART","amount":"42","invoice":"08","response":"200"}
{"name":"PAYTM","amount":"36","invoice":"03","response":"200"}
{"name":"Replacement","amount":"0","invoice":"17","response":"200"}
Ajax:-
$.ajax({
.
.
success: function (data) {
var my_orders = $("table#salesReturnTB > tbody.segment_sales_return");
$.each(data, function(i, order){
my_orders.append("<tr>");
my_orders.append("<td>" data[i].order.name "</td>");
my_orders.append("<td>" data[i].order.invoice "</td>");
my_orders.append("<td>" data[i].order.amount "</td>");
my_orders.append("<td>" data[i].order.response "</td>");
my_orders.append("</tr>");
});
});
});
Комментарии:
1. Можете ли вы показать серверную часть?
2. Я обновил вопрос с помощью серверных частей
3. ваша проблема решена??
4. нет, пожалуйста, помогите
Ответ №1:
в PHP вам нужно определить $list
переменную (потому что вы уже использовали $data
имя в качестве входного параметра в своем цикле) и переместить echo
вне цикла. В противном случае он повторяет каждый отдельный элемент данных, а не создает согласованный массив JSON. Список отдельных элементов без [..]
на каждом конце недопустим в формате JSON, поэтому JavaScript не может его прочитать.
$result = $stmt->fetchAll();
$list = array();
foreach($result as $data => $value)
{
$list = array('name' => $value["name"], 'amount' => $amount, 'invoice' => $Invoice, 'response' => '200');
}
header("Content-Type: application/json");
echo json_encode($list);
exit();
И в JavaScript / jQuery у вас есть аналогичная проблема, когда вы используете data
имя для представления двух разных вещей — списка элементов и отдельного элемента в цикле.
Это должно работать лучше:
$.each(data, function(i, item) {
my_orders.append("<tr>");
my_orders.append("<td>" item.name "</td>");
my_orders.append("<td>" item.invoice "</td>");
my_orders.append("<td>" item.amount "</td>");
my_orders.append("<td>" item.response "</td>");
my_orders.append("</tr>");
});
Комментарии:
1. Вы помогли мне, и я полагаю, вы знаете, пожалуйста, помогите мне в прошлый раз, сэр, я знаю, что у вас большая репутация, но я здесь новичок. У меня ограниченные права доступа к statckoverflow. Никто не отвечает на мой вопрос.. Пожалуйста, помогите мне, как я добавляю foreach эти данные в таблицу через Jquery Ajax ..
https://pastebin.com/t1rX3VYX
пожалуйста, вставьте меня2. @JohnCart пожалуйста, задайте новый вопрос по StackOverflow об этом, чтобы вы могли предоставить код, а также хорошее объяснение проблемы, больше, чем умещается в комментарии. Кроме того, тогда другие люди тоже могут помочь вам в этом. Вставьте ссылку на ваш новый вопрос здесь, и я посмотрю, если у меня будет немного времени.