PHP书籍续订,更新一天

时间:2014-04-22 12:40:18

标签: php date select time return

在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>";

2 个答案:

答案 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表。