Нужно с помощью ajax запроса вывести историю заказов одного пользователя.
Данные запрашиваются у php файла, там он выдаёт json файл с информацией о заказах.
Заказы записаны в бд таким образом:
order_id user_id prod_name prod_qty prod_price total
10 1 Product1 2 100 200
10 1 Product2 3 50 150
11 1 Product3 1 100 100
11 1 Product4 4 50 200
Вот код js:
$('document').ready(function(){
lengthofp = function(obj) {
var size = 0;
$.each(my_orders, function(i, elem) {
size++;
});
return size;
};
$.ajax({
type: "POST",
url: "http://sait/history.php",
data: "user_id="+localStorage.getItem("user_id"),
success: function(msg){
console.log(msg);
my_orders = JSON.parse(msg);
for(i =1;i <= lengthofp(my_orders); i++){
$(".my_history").append("<li>" +
"<div class='collapsible-header'>" +
"<div class='order-no'>" +
"<span class='block bold'>"+"Заказ №"+my_orders[i.toString()]["order_id"]+"</span>" +
"</div>" +
"</div>" +
"</li>");
}
},
error: function(){
swal("Ошибка!","Проверьте Интернет-соединение и повторите попытку","error");
}
});
});
И php:
<?php
error_reporting(E_ALL);
session_start();
define("DBHOST", "localhost");
define("DBUSER", "root");
define("DBPASS", "");
define("DB", "название");
$connection = mysqli_connect(DBHOST, DBUSER, DBPASS, DB) or die("Нет соединения с БД");
mysqli_set_charset($connection, "utf8") or die("Не установлена кодировка соединения");
if (isset($_POST['user_id'])){
$user_id = $_POST['user_id'];
global $connection;
$query = "SELECT order_id, prod_name, prod_qty, prod_price, total, delivery_date FROM orders WHERE user_id = '$user_id'";
$res = mysqli_query($connection, $query);
$i=1;
$orders = array();
while($row = mysqli_fetch_assoc($res)){
$orders[$i]= $row;
$i++;
}
echo json_encode($orders);
}
?>
Выводятся заказы таким образом:
Заказ №10
Заказ №10
Заказ №11
Заказ №11
А нужно сделать по order_id:
Заказ №10
Заказ №11
Я так понял что передавать нужно все данные в php в json файле, т.к. в дальнейшем нужно будет вывести все товары в каждом заказе, но вывести нужно в javascript по определённому ключу.
Подскажите, пожалуйста, как такое реализовать?