Helpers - компьютеры, интернет, программирование

Сравните 2 значения отметки времени и сделайте что-нибудь с результатом

Я новичок в PHP. Я запустил веб-сайт с предложениями продуктов для проекта, и я застрял на этом. Я хочу сохранить фактическую дату и время, когда новый продукт добавляется на страницу, и другую дату и время (крайний срок), ведьма составляет 24 часа позже. Я сделал это на странице adauga_admin.php (страница, которая добавляет сведения о продуктах в таблицу mysql).

adauga_admin.php :

<?php
include('connect.php');

$data=date('Y-m-d H:i:s');
$deadline=date('Y-m-d H:i:s',strtotime('+24 hours'));

// protejam impotriva injectiei de cod
$t = mysqli_real_escape_string($con, $_POST['t']);
$s = mysqli_real_escape_string($con, $_POST['s']);
$p = mysqli_real_escape_string($con, $_POST['p']);
$d = mysqli_real_escape_string($con, $_POST['d']);

$sql="INSERT INTO produse (titlu, stare, pret, descriere, data, deadline)
VALUES ('$t', '$s', '$p', '$d', '$data', '$deadline')";
$rez = mysqli_query($con,$sql);

    if($rez) {
        header("location:produse_user.php");
    }

    else {
        echo "Probleme la adaugare";
    } 
mysqli_close($con);
?>

Это таблица с продуктами:

id | titlu | stare | pret |  descriere |        data         |      deadline       |
___________________________________________________________________________________
11 |  asd  |  asd  |  140 |    asd     | 2014-06-03 19:02:47 | 2014-06-04 19:02:47 |

И здесь я показываю продукты пользователям. Отсюда они могут делать ставки на продукт

produse_user.php :

<?php
include('connect.php');
?>

<?php

$result = mysqli_query($con,"select * from produse");

while ($row = mysqli_fetch_array($result))
{
?>

<div class="produse"> 
<div class="produse-header"> 
<h4><?php echo $row['titlu'];?></h4>
<h5><?php echo $row['stare'];?></h5>
</div>
<div class="produse-continut">
<textarea readonly><?php echo $row['descriere'];?></textarea>
</div>
<div class="produse-pret"> 
<p><?php echo $row['pret'];?> lei</p>
</div>
<div class="produse-buton"> 
<a href="liciteaza.php?id=<?php echo $row['id']; ?>">Liciteaza</a>
</div></div>

<?php 
} 
mysqli_close($con);
?>

Моя цель — создать скрипт, который будет отображаться на странице продуктов для каждого продукта, если он все еще доступен или срок его действия истек. Я думаю, что это что-то вроде этого, но и не знаю, как это сделать.

if ($data > $deadline) {
   echo "Expired";
}
else {
   echo "Available";
}
03.06.2014

  • ты пробовал это? Каков ваш фактический вопрос здесь? 03.06.2014
  • Я думаю, вы должны сохранить дату ('Y-m-d H: i: s') в БД и сравнить эту дату и время в вашем php-скрипте с текущим временем даты для проверки 24 часов или еще. 03.06.2014
  • Вы хотите применить логику в produse_user.php? 03.06.2014
  • @fortune Да, это то, что я хочу. 03.06.2014

Ответы:


1

Вы можете использовать следующий запрос или его вариант.

select * from produse WHERE deadline >= NOW()

чтобы исключить строки, для которых крайний срок уже прошел из вашего набора результатов.

Вы также можете делать такие вещи, как

select * from produse WHERE deadline >= NOW() - INTERVAL 2 HOUR
                        AND deadline < NOW()

чтобы показать продукты со сроками от двух часов назад до настоящего времени.

03.06.2014
  • Большое вам спасибо за вашу помощь. Мой маленький проект завершен :) 03.06.2014

  • 2

    Попробуй это:

    <?php
    include('connect.php');
    ?>
    
    <?php
    
    $data = date('Y-m-d H:i:s');
    $status = "";
    
    $result = mysqli_query($con,"select * from produse");
    
    while ($row = mysqli_fetch_array($result))
    {
    
    if ($data > $row['deadline']) {
    
        $status = "Expired";
    } else {
    
        $status = "Available";
    }   
    
    ?>
    
    <div class="produse"> 
    <div class="produse-header"> 
    <h4><?php echo $row['titlu'];?></h4>
    <h5><?php echo $row['stare'];?></h5>
    <h5><?php echo $status;?></h5>
    </div>
    <div class="produse-continut">
    <textarea readonly><?php echo $row['descriere'];?></textarea>
    </div>
    <div class="produse-pret"> 
    <p><?php echo $row['pret'];?> lei</p>
    </div>
    <div class="produse-buton"> 
    <a href="liciteaza.php?id=<?php echo $row['id']; ?>">Liciteaza</a>
    </div></div>
    
    <?php 
    } 
    mysqli_close($con);
    ?>
    
    03.06.2014
  • Спасибо за помощь. Это отлично работает, но я решил использовать вариант Олли. 03.06.2014
  • Да, решение Олли является подходящим. +1 голос за @Ollie Jones 03.06.2014
  • Новые материалы

    Интуитивное понимание тензоров в машинном обучении
    Тензор является важной концепцией во многих научных областях, таких как математика, физика, обработка сигналов и компьютерное зрение, и это лишь некоторые из них. В математике тензор — это..

    Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
    Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

    Почему объяснимость так важна прямо сейчас?
    По мере того, как системы искусственного интеллекта и инструменты на основе машинного обучения распространяются в нашей повседневной жизни, как практики, так и критики все чаще заявляют о..

    Анимированный математический анализ
    Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

    Создание простого слайдера изображений с помощью JavaScript
    Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

    Создание базы данных с помощью супергероя «Python»
    В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

    ИИ для чайников: руководство для начинающих по пониманию будущего технологий
    Вы чувствуете, что остались позади в мире ИИ? Не волнуйтесь, вы не одиноки! Со всей этой шумихой вокруг искусственного интеллекта может быть трудно понять, с чего начать. Но не позволяйте сленгу..