я пытаюсь отобразить данные json в таблице, но это не показало, что я пробовал до сих пор, я прикрепил код ниже. что за ошибка при загрузке страницы, я прикрепил изображение ниже. если я проверю в console.info отображаются все данные. не проходит за столом введите описание изображения здесь
Стол
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<table class = "table table-striped" id = "mytable">
<thead>
<tr>
<th>ProductID</th>
<th>Productname</th>
<th>Price</th>
<th>Qty</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script>
function getProducts() {
$.ajax({
type: 'GET',
url: 'cart.php',
dataType: 'JSON',
success: function(data) {
// console.info(data);
for (var i = 0; i < data.length; i++) {
console.info(data);
var id = data[i].id;
var product_name = data[i].product_name;
var price = data[i].price;
$('#mytable tbody tr').after(
'<tr> ' +
'<td>' + product_name + '</td>' +
'<td>' + price + '</td>' +
'<td>' + "<input type = 'text' id='pname'/>" + '</td>' +
'</tr>');
}
},
error: function(xhr, status, error) {
alert(xhr.responseText);
}
});
}
</script>
корзина.php
<?php
include("db.php");
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$stmt = $conn->prepare("select id,product_name,price from cart order by id DESC ");
$stmt->bind_result($id,$product_name,$price);
if ($stmt->execute()) {
while ( $stmt->fetch() ) {
$output[] = array ("id"=>$id, "product_name"=>$product_name,"price"=>$price);
}
echo json_encode( $output );
}
$stmt->close();
//}
<script>
?
encode:true я сделал это не работает
хорошо, сэр, я покажу страницу cart.php, которую я редактировал выше
А как насчет того, что спросил @RiggsFolly?
.if я проверяю в console.info все данные отображаются. не проходит за столом, это правильно, сэр $('#mytable tbody tr').after(
Как насчет использования forEach
forEach, как писать и отображать данные, сэр. Можете ли вы написать, сэр?
0: {id: 17, product_name: "tv", price: "12000"} 1: {id: 16, product_name: "tv", price: "12000"} 2: {id: 15, product_name: "caps" , цена: "150"} вывод json отображается успешно, я проверил через console.info, как перейти в таблицу
@PrabigaDuraisamy проверьте ответ ниже
Вы можете использовать функцию .каждый() для циклического просмотра результатов, а также на $('#mytable tbody tr').after()
вам нужно удалить tr
, поскольку в вашем теле нет элемента tr
, он должен быть $('#mytable tbody').after(....)
, а затем, когда вы закончите, запустите функцию, вызвав getProducts()
Ваш код должен выглядеть так:
<script>
function getProducts() {
$.ajax({
type: 'GET',
url: 'cart.php',
dataType: 'JSON',
success: function(data) {
data.forEach(function(element) {
var id = element.id;
var product_name = element.product_name;
var price = element.price;
$('#mytable tbody').after(
'<tr> ' +
'<td>' + id + '</td>' +
'<td>' + product_name + '</td>' +
'<td>' + price + '</td>' +
'<td>' + "<input type = 'text' id='pname'/>" + '</td>' +
'</tr>');
});
},
error: function(xhr, status, error) {
alert(xhr.responseText);
}
});
}
getProducts();
</script>
Рад, что смог помочь
после
dataType : 'json',
добавьтеencode:true
и снова протестируйте, было бы разумно также показать свойcart.php