Как добавить сроки с помощью CURRENT_TIMESTAMP?

Я пытаюсь создать систему бронирования библиотек, чтобы, когда пользователь берет книгу, у него была установлена ​​​​дата выполнения через 7 дней после даты выпуска (установленной как CURRENT_TIMESTAMP). Однако есть ли способ просто использовать CURRENT_TIMESTAMP + 7 дней в коде php/html? или мне нужно добавить еще один столбец таблицы, чтобы установить переменную даты выполнения в базе данных?

Я попытался изменить переменную (в порядке) в базе данных, которая не нужна в моей базе данных со сроком выполнения. Однако это портит все, что не показывают данные.

Итак, в настоящее время я пытаюсь добавить 7 дней к переменной IssueDate с помощью функции DATE_ADD. Однако это не позволит показать код.

                                        <tr>
                                            <th>#</th>
                                            <th>Book Name</th>
                                            <th>ISBN </th>
                                            <th>Issued Date</th>
                                            <th>Due Date</th>
                                            <th>Action</th>
                                        </tr>
                                    </thead>
                                    <tbody>
<?php 
$sid=$_SESSION['stdid'];
$sql = "SELECT tblbooks.BookName,tblbooks.ISBNNumber,tblissuedbookdetails.IssuesDate,tblissuedbookdetails.ReturnDate,tblissuedbookdetails.id as rid,tblissuedbookdetails.fine from  tblissuedbookdetails join tblstudents on tblstudents.StudentId=tblissuedbookdetails.StudentId join tblbooks on tblbooks.id=tblissuedbookdetails.BookId where tblstudents.StudentId=:sid order by tblissuedbookdetails.id desc";
$query = $dbh -> prepare($sql);
$query-> bindParam(':sid', $sid, PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if ($query->rowCount() > 0)
{
foreach($results as $result)
{               ?>                                      
                                        <tr class = "odd gradeX">
                                            <td class = "center"><?php echo htmlentities($cnt);?></td>
                                            <td class = "center"><?php echo htmlentities($result->BookName);?></td>
                                            <td class = "center"><?php echo htmlentities($result->ISBNNumber);?></td>
                                            <td class = "center"><?php echo htmlentities($result->IssuesDate);?></td>
                                            <td class = "center"><?php if ($result->ReturnDate= = "")
                                            {?>
                                            <span style = "color:red">
                                             <?php   echo htmlentities("Not Return Yet"); ?>
                                                </span>
                                            <?php } else {

                                            echo htmlentities($result->SELECT DATE_ADD(d,7,IssuesDate));
                                        }
                                            ?></td>
                                              <td class = "center">

                                            <a href = "test-return.php?rid=<?php echo htmlentities($result->rid);?>">
                                            <button class = "btn btn-primary"><i class = "fa fa-edit "></i>Extend</button> 

                                            </td>

                                        </tr>
 <?php $cnt=$cnt+1;}} ?>                                      
                                    </tbody>

Любые «рабочие коды» не будут отображать результаты в столбце таблицы «дата выполнения», а те, которые не будут, просто сообщат, что есть непредвиденная переменная, символы и т. д.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
271
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вам нужно рассчитать 7 дней в PHP, а не в SQL. Используйте следующий код в своем блоке else для расчета и отображения даты выполнения.

$datetime = new DateTime( $result->IssuesDate );
$datetime->modify('+7 days');
echo $datetime->format('Y-m-d');

CURRENT_TIMESTAMP + 7 days

Правильный синтаксис в стандартном SQL:

CURRENT_TIMESTAMP + INTERVAL 7 DAY

(Ваш запрос действителен, но не делает то, что вы думаете.)

Возможно, вы захотите разрешить полный день, чтобы можно было полностью отказаться от времени, используя CURRENT_DATE вместо CURRENT_TIMESTAMP:

SELECT CURRENT_DATE AS today, CURRENT_DATE + INTERVAL 7 DAY AS due_date;
+------------+------------+
| today      | due_date   |
+------------+------------+
| 2019-07-13 | 2019-07-20 |
+------------+------------+

Другие вопросы по теме