我想更新书本表中已接受请求的状态,更新代码以其他方式起作用,但是当我尝试使用它来更新状态时,它不起作用,数据仍然保持为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">×</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>';
}
?>
表book
(bookStatus
为Null
,默认值为1->我正尝试对其进行更新以使其值= 2):
id | bookId | bookTitle | authorName | bookStatus
表borrowbook
:
borrow_id | borrowDate | returnDate | b_id | u_id | requestDate