Данные Json не отображаются в таблице с использованием php json

я пытаюсь отобразить данные 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();

//}

после dataType : 'json', добавьте encode:true и снова протестируйте, было бы разумно также показать свой cart.php

Masivuye Cokile 29.05.2019 14:36
Глупый вопрос наверное Ваш код JavaScript заключен в теги <script>?
RiggsFolly 29.05.2019 14:40

encode:true я сделал это не работает

Prabiga Duraisamy 29.05.2019 14:43

хорошо, сэр, я покажу страницу cart.php, которую я редактировал выше

Prabiga Duraisamy 29.05.2019 14:46

А как насчет того, что спросил @RiggsFolly?

Masivuye Cokile 29.05.2019 14:47

.if я проверяю в console.info все данные отображаются. не проходит за столом, это правильно, сэр $('#mytable tbody tr').after(

Prabiga Duraisamy 29.05.2019 14:50

Как насчет использования forEach

Masivuye Cokile 29.05.2019 14:51

forEach, как писать и отображать данные, сэр. Можете ли вы написать, сэр?

Prabiga Duraisamy 29.05.2019 14:52

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, как перейти в таблицу

Prabiga Duraisamy 29.05.2019 14:57

@PrabigaDuraisamy проверьте ответ ниже

Masivuye Cokile 29.05.2019 15:09
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
10
24
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать функцию .каждый() для циклического просмотра результатов, а также на $('#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>

Рад, что смог помочь

Masivuye Cokile 29.05.2019 15:12

Другие вопросы по теме