Initial Commit
This commit is contained in:
commit
9ad6876181
5 changed files with 786 additions and 0 deletions
190
db/functions.php
Normal file
190
db/functions.php
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
<?php
|
||||
include "bootstrap.php";
|
||||
|
||||
/////////GET BOOKS/////////
|
||||
function getBooks($pdo){
|
||||
$stmt = $pdo->query("SELECT bookID, title, author FROM books ORDER BY title ASC");
|
||||
$books = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
return $books;
|
||||
}
|
||||
|
||||
/////////GET BORROWERS/////////
|
||||
function getBorrowers($pdo){
|
||||
$stmt = $pdo->query("SELECT * FROM borrowers ORDER BY lastName ASC");
|
||||
$borrowers = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
return $borrowers;
|
||||
}
|
||||
|
||||
/////////GET AVAILABLE COPIES OF BOOK/////////
|
||||
function getAvailableCopiesOfBook($pdo, $bookID){
|
||||
$stmt = $pdo->query("SELECT * FROM copies WHERE bookID = $bookID AND isBorrowed = 0 ORDER BY copyID ASC");
|
||||
$copies = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
return $copies;
|
||||
}
|
||||
|
||||
/////////GET BORROWED COPIES OF BORROWER/////////
|
||||
function getBorrowedCopiesOfBorrower($pdo, $borrowerID){
|
||||
$stmt = $pdo->query("SELECT
|
||||
loans.loanID,
|
||||
loans.copyID,
|
||||
copies.bookCondition as bookCondition,
|
||||
books.title as bookTitle,
|
||||
books.author as bookAuthor
|
||||
FROM loans
|
||||
INNER JOIN copies ON loans.copyID = copies.copyID
|
||||
INNER JOIN books ON copies.bookID = books.bookID
|
||||
WHERE borrowerID = $borrowerID AND returnedDate IS NULL
|
||||
ORDER BY copyID ASC");
|
||||
$copies = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
return $copies;
|
||||
}
|
||||
|
||||
/////////GET ACTIVE LOANS/////////
|
||||
function getActiveLoans($pdo){
|
||||
$stmt = $pdo->query("SELECT
|
||||
loans.*,
|
||||
books.title as bookTitle,
|
||||
books.author as bookAuthor,
|
||||
borrowers.firstName as firstName,
|
||||
borrowers.lastName as lastName,
|
||||
borrowers.role as borrowerRole
|
||||
FROM loans
|
||||
INNER JOIN copies ON loans.copyID = copies.copyID
|
||||
INNER JOIN books ON copies.bookID = books.bookID
|
||||
INNER JOIN borrowers on loans.borrowerID = borrowers.borrowerID
|
||||
WHERE loans.returnedDate IS NULL
|
||||
ORDER BY dueDate ASC");
|
||||
$activeLoans = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
return $activeLoans;
|
||||
}
|
||||
|
||||
/////////GET LATE LOANS/////////
|
||||
function getLateLoans($pdo){
|
||||
$currentDate = date("Y-m-d");
|
||||
|
||||
$sql = "SELECT
|
||||
loans.*,
|
||||
books.title as bookTitle,
|
||||
books.author as bookAuthor,
|
||||
borrowers.firstName as firstName,
|
||||
borrowers.lastName as lastName,
|
||||
borrowers.role as borrowerRole
|
||||
FROM loans
|
||||
INNER JOIN copies ON loans.copyID = copies.copyID
|
||||
INNER JOIN books ON copies.bookID = books.bookID
|
||||
INNER JOIN borrowers on loans.borrowerID = borrowers.borrowerID
|
||||
WHERE loans.dueDate < ? AND loans.returnedDate IS NULL
|
||||
ORDER BY dueDate ASC";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->execute([$currentDate]);
|
||||
|
||||
$lateLoans = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
return $lateLoans;
|
||||
}
|
||||
|
||||
/////////ADD COPIES/////////
|
||||
function addCopies($pdo, $bookID, $amount, $copyCondition){
|
||||
for($i=0; $i<$amount; $i++){
|
||||
$sql = "INSERT INTO copies (bookID, bookCondition) VALUES (:bookID, :bookCondition)";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->bindParam(':bookID', $bookID);
|
||||
$stmt->bindParam(':bookCondition', $copyCondition);
|
||||
|
||||
try {
|
||||
$stmt->execute();
|
||||
$successfullyAdded = true;
|
||||
} catch (PDOException $e) {
|
||||
echo "<p>Error: " . $e->getMessage() . "</p>";
|
||||
}
|
||||
}
|
||||
if($successfullyAdded){
|
||||
if($amount > 1)
|
||||
{
|
||||
echo $amount . " Copies added successfully!";
|
||||
}else{
|
||||
echo "Copy added successfully!";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/////////ADD BOOK/////////
|
||||
function addBook($pdo, $title, $author, $area){
|
||||
$sql = "INSERT INTO books (title, author, areaOfStudy) VALUES (:title, :author, :area)";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->bindParam(':title', $title);
|
||||
$stmt->bindParam(':author', $author);
|
||||
$stmt->bindParam(':area', $area);
|
||||
|
||||
try {
|
||||
$stmt->execute();
|
||||
echo "<p>Book added successfully!</p>";
|
||||
} catch (PDOException $e) {
|
||||
echo "<p>Error: " . $e->getMessage() . "</p>";
|
||||
}
|
||||
}
|
||||
|
||||
/////////ADD BORROWER/////////
|
||||
function addBorrower($pdo, $firstname, $lastname, $role){
|
||||
$sql = "INSERT INTO borrowers (firstname, lastname, role) VALUES (:firstname, :lastname, :role)";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->bindParam(":firstname", $firstname);
|
||||
$stmt->bindParam(":lastname", $lastname);
|
||||
$stmt->bindParam(":role", $role);
|
||||
|
||||
try{
|
||||
$stmt->execute();
|
||||
echo "<p>Borrowers added!</p>";
|
||||
}catch(PDOException $e){
|
||||
echo "<p>Error: " . $e->getMessage() . "</p>";
|
||||
}
|
||||
}
|
||||
|
||||
/////////ADD LOAN/////////
|
||||
function addLoan($pdo, $copyID, $borrowerID, $borrowedDate, $dueDate){
|
||||
$sql = "INSERT INTO loans (copyID, borrowerID, borrowedDate, dueDate) VALUES (:copyID, :borrowerID, :borrowedDate, :dueDate)";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->bindParam(":copyID", $copyID);
|
||||
$stmt->bindParam("borrowerID", $borrowerID);
|
||||
$stmt->bindParam("borrowedDate", $borrowedDate);
|
||||
$stmt->bindParam(":dueDate", $dueDate);
|
||||
|
||||
try{
|
||||
$stmt->execute();
|
||||
echo "<p>Loan added!</p>";
|
||||
}catch(PDOException $e){
|
||||
echo "<p>Error: " . $e->getMessage() . "</p>";
|
||||
}
|
||||
|
||||
$sql = "UPDATE copies SET isBorrowed=? WHERE copyID=?";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->execute([1, $copyID]);
|
||||
}
|
||||
|
||||
/////////REMOVE LOAN/////////
|
||||
function removeLoan($pdo, $copyID, $loanID, $dateReturned){
|
||||
$sql = "UPDATE loans SET returnedDate = ? WHERE copyID = ? AND loanID = ?";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->execute([$dateReturned, $copyID, $loanID]);
|
||||
|
||||
$sql = "UPDATE copies SET isBorrowed=? WHERE copyID=?";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->execute([0, $copyID]);
|
||||
}
|
||||
|
||||
/////////SELECT REQUEST/////////
|
||||
function selectRequest($pdo, $selectRequest){
|
||||
$stmt = $pdo -> query("SELECT " . $selectRequest);
|
||||
|
||||
$results = $stmt -> fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
foreach($results as $result){
|
||||
echo '<pre>'; print_r($result); echo '</pre>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue