我还在学习OOP所以这甚至不可能(虽然我会感到惊讶),我需要一些帮助调用另一个类方法。
这是
control folder
中的代码,它从视图中检索详细信息以存储损坏的图书表,并需要将图书表状态更新为“已损坏”。当我运行程序时,两个表在运行时都不会更新。我需要一个很大的帮助来完成这项工作。
控制/ MarkDamagedBook.php
include('../model/Books.php');
include('../model/DamagedBook.php');
$type=$_POST['type'];
if ($type=='save')
{
$DamagedBook = new DamagedBook();
$DamagedBook->book_id=$_POST["book_id"];
$DamagedBook->member_id=$_POST["member_id"];
$DamagedBook->damaged_type=$_POST["cmbpro"];
$DamagedBook->damaged_desc=$_POST["reason"];
$DamagedBook->penalty =$_POST["penalty"];
$DamagedBook->reason_panalty =$_POST["reason_panalty"];
$DamagedBook->save();
$Books = new Books(); //create an object of Books class
$Books->book_id=$_POST["book_id"];
$Books->updateBook();//cal a function
header("Location: ../view/MarkDamagedBook/new.php");
}
../ model / Books.php <书籍课
include_once "db_connection.php";
class Books extends db_connection{
public $book_id;
public $status ;
function updateBook()
{
$status ="damaged";
$query ="UPDATE tbl_book SET status='$status' WHERE book_id='$this->book_id'";
mysqli_query($this->con,$query);
}
}
模型/ DamagedBook.php
<?php
include_once "db_connection.php";
class DamagedBook extends db_connection
{
public $book_id;
public $member_id;
public $damage_type;
public $damgbook_desc;
public $status ;
function save()
{
$query= "INSERT INTO tbl_damagebook(book_id,member_id,damage_type,damgbook_desc,penalty_type,penalty_reason)VALUES('$this->book_id','$this->member_id','$this->damaged_type','$this->damaged_desc','$this->penalty','$this->reason_panalty');";
mysqli_query($this->con,$query);
}
}
db_connection.php
<?php
class db_connection {
public $con;
private $_host = "localhost";
private $_username = "root";
private $_password = "";
private $_database = "librarysys";
public function __construct()
{
$this->con = new mysqli($this->_host, $this->_username, $this->_password, $this->_database);
if(mysqli_connect_error())
{
trigger_error("Failed to connect to MySQL: ");
}
}
}
?>