Заполните значения из базы данных в таблице, используя PHP и AJAX - PullRequest
0 голосов
/ 28 марта 2019

У меня есть таблица, в которой есть заказы, и я хочу, чтобы, когда каждый заказ входил в базу данных, я хотел, чтобы он отображался в таблице без обновления страницы и без нажатия какой-либо кнопки.Вот код на PHP и HTML:

<?php
  require_once '../core/init.php';
  if(!is_logged_in()){
    header('Location: login.php');
  }
  include 'includes/head.php';
  include 'includes/navigation.php';

?>
<!-- Orders To Fill -->
<?php
  $txnQuery = "SELECT t.id, t.cart_id, t.first_name, t.last_name, t.description, t.txn_date, t.grand_total, c.items, c.paid, c.shipped
    FROM transactions t
    LEFT JOIN cart c ON t.cart_id = c.id
    WHERE c.paid = 1 AND c.shipped = 0
    ORDER BY t.txn_date";
  $txnResults = $db->query($txnQuery);
?>

<div class="col-lg-12">
  <h4 class="text-center">Orders To Ship       <span class="glyphicon glyphicon-list-alt" style="font-size:23px;"></span></h4>
  <table class="table table-sm table-bordered table-striped">
    <thead>
      <th></th><th>Name</th><th>Description</th><th>Total</th><th>Date</th>
    </thead>
    <tbody>
      <?php while($order = mysqli_fetch_assoc($txnResults)): ?>
        <tr>
          <td><a href="orders.php?txn_id=<?=$order['id'];?>" class="btn btn-sm btn-info">Details        <span class="glyphicon glyphicon-info-sign"></span></a></td>
          <td><?=$order['first_name']. ' '.$order['last_name'];?></td>
          <td><?=$order['description'];?></td>
          <td><?=money($order['grand_total']);?></td>
          <td><?=pretty_date($order['txn_date']);?></td>
        </tr>
      <?php endwhile; ?>
    </tbody>
  </table>
</div>

Пожалуйста, как это сделать в AJAX?

1 Ответ

1 голос
/ 28 марта 2019

Прежде всего попробуйте сначала изучить, как использовать Jquery AJAX. Это довольно легко. Создайте свой PHP-файл, содержащий запрос к базе данных

<?php
      require_once '../core/init.php';
      if(!is_logged_in()){
        header('Location: login.php');
      }
      include 'includes/head.php';
      include 'includes/navigation.php';
      $txnQuery = "SELECT t.id, t.cart_id, t.first_name, t.last_name, t.description, t.txn_date, t.grand_total, c.items, c.paid, c.shipped
        FROM transactions t
        LEFT JOIN cart c ON t.cart_id = c.id
        WHERE c.paid = 1 AND c.shipped = 0
        ORDER BY t.txn_date";
      $txnResults = $db->query($txnQuery);

while($order = mysqli_fetch_assoc($txnResults)){
    $data = "
        <tr>
          <td><a href=\"orders.php?txn_id=\". $order['id'] ."\" class=\"btn btn-sm btn-info\">Details<span class=\"glyphicon glyphicon-info-sign\"></span></a></td>
          <td>".$order['first_name'].  " ". $order['last_name'] ."</td>
          <td>".$order['description'] ." </td>
          <td>". money($order['grand_total']) ."</td>
          <td>". pretty_date($order['txn_date']) ."</td>
                </tr>
        ";
}
echo $data;
?>

Затем создайте файл переднего плана, который получит запрос к файлу php, который вы создали

<script>
function getdata(){
    $.ajax({
                url : "LINKTOYOURPHPFILE.php",
                success: function(data){
                    $("#table-to-be-inserted").html(data);
                }
        });
}
  //Call the function
   getdata();
</script>

<div class="col-lg-12">
  <h4 class="text-center">Orders To Ship       <span class="glyphicon glyphicon-list-alt" style="font-size:23px;"></span></h4>
  <table class="table table-sm table-bordered table-striped">
    <thead>
      <th></th><th>Name</th><th>Description</th><th>Total</th><th>Date</th>
    </thead>
    <tbody id="table-to-be-inserted">

    </tbody>
  </table>
</div>

Это простой запрос. Вот ссылка на Jquery Ajax, пожалуйста, изучите его хорошо НАЖМИТЕ, ЧТОБЫ ИЗУЧИТЬ JQUERY AJAX !!!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...