在php中,我想续借一本借来的书5天,然而,它只更新今天的日期,我怎样才能更新我借来的书呢?
$sql_renewal = "SELECT returnDate
FROM Book where bookid in (SELECT bk.bookid,bk.bookname, bk.lendingDate, bk.returnDate
FROM book bk, borrow b, borrow_detail bd, student s
WHERE b.bid = bd.BORROW_bid
AND b.STUDENT_sid = s.sid
AND bd.BOOK_bookid = bk.bookid
AND s.s_email = '".$_SESSION['SESS_USERNAME']."'
)
$QueryResult = mysqli_query($connection, $sql_renewal);
$row = mysqli_fetch_array($QueryResult);
$return_date = $row['bk.returnDate'];
echo $return_date;
$return_date1 = str_replace('-', '/', $return_date);
$updated_return_date = date('m-d-Y',strtotime($return_date1 . "+5 days"));
echo "<td>$updated_return_date</td>";
答案 0 :(得分:1)
您可以使用此方法或类似方式构建SQL查询:
$sql = sprintf('UPDATE Book SET returnDate = returnDate + INTERVAL 5 DAY WHERE bookid = %d', $row['bookid']);
之后就执行它。
答案 1 :(得分:0)
您必须使用查询更新数据库中的新返回日期。
类似的东西:
$query = "UPDATE Book set returnDate= '$updated_return_date' WHERE bookid = '".
$row['bk.bookid']."'";
小心将日期更新为字符串,这可能不明确,您可能希望使用ISO 8601格式(YYYY-MM-DD)以避免混淆或转换unix时间戳。
如果借用了多本图书,您可能需要遍历结果。
您可能还需要更新borrow_detail表。