使用php更新借用项目的状态

时间:2020-08-17 23:33:43

标签: php mysql sql

我想更新书本表中已接受请求的状态,更新代码以其他方式起作用,但是当我尝试使用它来更新状态时,它不起作用,数据仍然保持为1。我想要的是,在按下接受按钮之后,数据库应该更新书本表中的状态并将其值设置为2。这是代码,并且没有错误消息,所以我不知道要编辑什么。 >

主页面( request.php ):

<?php
  include "adminHeader.php";
  $page = isset($_GET['page']) ? $_GET['page'] : 1;

  $records_per_page = 5;
  $from_record_num = ($records_per_page * $page) - $records_per_page;

  include "../config/database.php";
  include "../classes/requests.php";

  $database = new Database();
  $db = $database->getConnection();
  $request = new Request($db);

  $stmt = $request->displayRequest($from_record_num, $records_per_page);
  // $stmt1 = $request->displayTitle();
  // $stmt2 = $request->displayUser();
  $num = $stmt->rowCount();
?>

<div class = "container-fluid">
  <table class = "table" style = "margin-top: 20px;">
    <thead>
      <tr>
        <th>ID</th>
        <th>Date Requested</th>
        <th>Actions</th>
      </tr>
    </thead>
    <tbody id = "requestAllData">
      <?php
        while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
          extract($row);
          echo "<tr>
            <td>{$borrow_id}</td>
            <td>{$requestDate}</td>
            <td><button type = 'button' class = 'btn btn-success btnView' data-toggle = 'modal' data-target = 'viewModal' viewId = '{$borrow_id}'>View</button></td>
          </tr>";
        }
      ?>
    </tbody>
  </table>
  <?php
    $page_url = "request.php";
    $total_rows = $request->countAll();
    include "../paging.php";
  ?>
</div>

<!-- MODAL VIEW -->
<div class="modal fade" id="viewModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="modalTitle">View Request</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div id = "selectDiv">
        <!-- call View form here -->
      </div>
    </div>
  </div>
</div>

<script src = "../scripts/request.js"></script>

<?php
  include "adminFooter.php";
?>

JS代码( request.js

$(document).on('click', '.btnView', function() {
    var idPrimaryKey = $(this).attr('ViewId')
    console.log(idPrimaryKey);
    $.ajax ({
        url: 'accept.php',
        method: "POST",
        data: {id:idPrimaryKey},

        success:function(data) {
            $('#selectDiv').html(data);
            $('#viewModal').modal('show');
        }
    })
});

$(document).on('click', 'btnUpdateRecord', function(event) {
    $.ajax ({
        url: 'updateRequest.php',
        method: "POST",
        data: $('viewRequestForm').serialize(),

        success:function(data){
            $('#viewModal').modal('hide');
            $('#requestAllData').html(data);
        }
    })
}) 

accept.php

<?php
  include "../config/database.php";
  include "../classes/requests.php";

  $database = new Database();
  $db = $database->getConnection();

  $request = new Request($db);
  //$stmt2 = $request->displayUser();
  //$stmt1 = $request->displayTitle();

  if($_POST) {
    $request->borrow_id = $_POST['id'];
    $request->selectBorrow();
    // $request->displayTitle();
    // $request->displayUser();

    echo '
      <form method = "POST" id = "viewRequestForm">
        <div class = "modal-body">
          <label>Book Title:</label>
          <label>' .$request->bookTitle .'</label><br>

          <label>Fullname:</label>
          <label>' .$request->fullname .'</label><br>

          <label>When: </label>
          <label>' . $request->borrowDate . ' until ' . $request->returnDate . '</label>

          <input type = "text" class = "form-control" name = "status" value = "2">

          <input type "text" class = "form-control" name = "borrow_id" style = "visibility:hidden" value = "' .$request->borrow_id . '">

          <input type "text" class = "form-control" name = "b_id" style = "" value = "' .$request->b_id . '">
        </div>
        <div class = "modal-footer">
          <button type = "button" class = "btn btn-warning" data-dismiss = "modal">Reject</button>
          <input type = "submit" class = "btn btn-success" value = "Accept">
        </div>
      </form>';
  }
?>

<script src = "../scripts/request.js"></script>

requests.php (这是我放置所有课程的地方)

<?php
    class Request {
        public $borrow_id;
        public $borrowDate;
        public $returnDate;
        public $b_id;
        public $u_id;
        public $requestDate;
        public $status;

        public $id;
        public $bookId;
        public $bookTitle;
        public $bookStatus;
        public $fullname;

        private $conn;

        public function __construct($db) {
            $this->conn = $db;
        }

        public function displayRequest($from_record_num, $records_per_page) {
            $sql = "SELECT *
                    FROM borrowbook
                    ORDER BY borrow_id ASC LIMIT {$from_record_num}, {$records_per_page}";
            $stmt = $this->conn->prepare($sql);
            $stmt->execute();

            return $stmt;
        }
        public function display() {
            $sql = "SELECT *
                    FROM borrowbook
                    ORDER BY borrow_id";
            $stmt = $this->conn->prepare($sql);
            $stmt->execute();

            return $stmt;
        }

        public function readAll($from_record_num, $records_per_page) {
            $sql = "SELECT *
                    FROM borrowbook
                    ORDER BY borrow_id ASC LIMIT {$from_record_num}, {$records_per_page}";
            $stmt = $this->conn->prepare($sql);
            $stmt->execute();
        }

        public function countAll() {
            $sql = "SELECT borrow_id
                    FROM borrowbook";
            $stmt = $this->conn->prepare($sql);
            $stmt->execute();

            $num = $stmt->rowCount();

            return $num;
        }

        public function selectBorrow() {
            $sql = "SELECT *
                    FROM borrowbook, users, book
                    WHERE borrow_id = ?
                    AND borrowbook.b_id = book.id
                    AND users.user_id = borrowbook.u_id";
            $stmt = $this->conn->prepare($sql);
            $stmt->bindparam(1, $this->borrow_id);
            $stmt->execute();

            $row = $stmt->fetch(PDO::FETCH_ASSOC);

            $this->borrow_id = $row['borrow_id'];
            $this->borrowDate = $row['borrowDate'];
            $this->returnDate = $row['returnDate'];
            $this->b_id = $row['b_id'];
            $this->u_id = $row['u_id'];
            $this->requestDate = $row['requestDate'];
            $this->id = $row['id'];
            $this->bookId = $row['bookId'];
            $this->bookTitle = $row['bookTitle'];
            $this->authorName = $row['authorName'];
            $this->fullname = $row['fullname'];
        }

        public function updateStatus($b_id) {

            $sql = "UPDATE book
                    SET bookStatus = ?
                    WHERE id = {$b_id}";
            $stmt = $this->conn->prepare($sql);
            $stmt->bindparam(1, $this->borrowDate);
            $stmt->execute();
        }
    }
?>

updateRequest.php

<?php
    include "../config/database.php";
    include "../classes/requests.php";

    $database = new Database();
    $db = $database->getConnection();
    $request = new Request($db);

    if ($_POST) {
        $request->id = $_POST['b_id'];
        $request->borrow_id = $_POST['borrow_id'];
        $request->status = $_POST['status'];
        $request->insertStatus($b_id);

        $stmt = $request->display();
        while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
          extract($row);
          echo "<tr>
            <td>{$borrow_id}</td>
            <td>{$requestDate}</td>
            <td><button type = 'button' class = 'btn btn-success btnView' data-toggle = 'modal' data-target = 'viewModal' viewId = '{$borrow_id}'>View</button></td>
          </tr>";
        }
        echo '<script language="javascript">';
        echo 'alert("Book Updated!")';
        echo '</script>';
    }
?>

bookbookStatusNull,默认值为1->我正尝试对其进行更新以使其值= 2):

id | bookId | bookTitle | authorName | bookStatus

borrowbook

borrow_id | borrowDate | returnDate | b_id | u_id | requestDate

0 个答案:

没有答案