Это возможно? Показать – НОВОЕ, если по дате/времени меньше 24 часов.

  • Автор темы veritas29
  • 52
  • Обновлено
  • 13, May 2024
  • #1
Привет, На моей домашней странице отображаются последние 5 объявлений.

Меня интересует, если объявление находится в пределах, скажем, 24 часов, оно может отображать «Новое», а если более 24 часов «Новое» не отображается? Вот часть кода, который я использую -
  <?php

$images=explode(",",$listing["images"]);

if($listing["images"]!=""&&file_exists("thumbnails/".$images[0].".jpg"))

{

$images = explode(",",$listing["images"]);

echo "<a href=\"".$strLink."\"><img align=\"left\" src=\"thumbnails/".$images[0].".jpg\" width=\"50\" alt=\"".stripslashes(strip_tags($listing["title"]))."\" class=\"img-shadow img-right-margin\" /></a>";

}

?>

<h4 class="no-top-margin"><a href="<?php echo $strLink;?>">

<?php echo stripslashes(strip_tags($listing["title"]));?>

</a></h4>

<span class="sub-text">

<?php echo $this->text_words(stripslashes(strip_tags($listing["description"])),10);?>

</span>

<div class="clear"></div>

<div class="smooth-separator margin_10"></div>

<?php

}

?>

<?php

if(!isset($_REQUEST["mod"])&&(!isset($_REQUEST["page"])||(isset($_REQUEST["page"])&&$_REQUEST["page"]=="en_Home"))&&$this->db->num_rows($SearchTable)>0)

{

?>

<div class="text-center">

<a class="underline-link" href="<?php echo $this->mod_link("latest_listings");?>"><?php echo $M_SEE_MORE;?></a>

</div>

<?php

}

?>
Код (разметка): С уважением Дж

veritas29


Рег
01 Jan, 2011

Тем
1

Постов
3

Баллов
13
  • 18, May 2024
  • #2

7ucky


Рег
03 Jun, 2012

Тем
0

Постов
2

Баллов
2
  • 03, Jun 2024
  • #3
К сожалению, хотя у @JEET есть правильный ответ на дату, @sarahk сказал, что это крушение.

1) Перестаньте открывать/закрывать PHP поневоле, вы просто заставляете себя работать усерднее, имея менее понятный код.

2) Прекратите использовать двойные кавычки для своих строк, вы просто заставляете себя работать усерднее, избегая двойных кавычек или используя «неправильные» кавычки на стороне клиента.

3) Прекратите использовать несколько эхо для выполнения работы одного эха.

4) сейчас 2020 год, а не 1997 год, прекратите использовать презентационные классы, такие как «no-top-border». Это противоречит сути существования CSS, и в этот момент вы могли бы также вернуться к написанию HTML 3.2.

5) Вы ДЕЙСТВИТЕЛЬНО уверены, что структурно это соответствует глубине H4? Тем более, что такое заголовок H4?

6) Это 2020 год, а не 2003 год, что за ерунда типа очистки DIV и разделителя DIV? Обычно это указывает на то, что тот, кто пишет HTML, не должен им быть.

7) Не используйте добавление строк в echo, если в этом нет необходимости.

Это замедляет работу и использует больше памяти, чем вывод с разделителями-запятыми.

8) Не знаю, что делает "$this->text_words", но мусор, бросаемый в эту функцию - и, возможно, сама функция - это, ну... мусор. Это называется htmlspecialchars, используйте его.

Если это соответствует коду сайта, то как фронтальную, так и серверную часть необходимо выбросить в мусор и начать все заново.
 

Midway1


Рег
24 May, 2012

Тем
1

Постов
3

Баллов
13
  • 03, Jun 2024
  • #4
Это может быть сохранение времени() что ты получишь, если с этим
 
$listing_date = $listing['listing_date'];
$yesterday = strtotime('yesterday 00:00:00');
if ($listing_date > $yesterday){
Код (php): если это разумно, то мой код из строки 17 выше станет
 date('d M Y', $row['listing_date'])
Код (php):
 

Bozon


Рег
07 Sep, 2010

Тем
2

Постов
3

Баллов
23
  • 03, Jun 2024
  • #5
О боже, это уродливый код. Я чувствую себя довольно слабым, просто глядя на это. Попробуй это
 

<?php

$images=explode(",",$listing["images"]);

$title = stripslashes(strip_tags($listing["title"]));

if(count($listing["images"]) && file_exists("thumbnails/".$images[0].".jpg")){

echo "<a href='{$strLink}' title=\"{$title}\">

<img align='left' src='thumbnails/{$images[0]}.jpg' width='50' alt=\"{$title}\" class='img-shadow img-right-margin' />

</a>";

}

?>

<h4 class="no-top-margin"><a href="<?php echo $strLink;?>"><?php echo $title;?></a></h4>

<span class="sub-text">

<?php

//why isn't $this->text_words also doing the stripslashes and strip_tags?

echo $this->text_words(stripslashes(strip_tags($listing["description"])),10);

$listing_date = strtotime($listing['listing_date']);

$yesterday = strtotime('yesterday 00:00:00');

if ($listing_date > $yesterday){

echo "<span>I'm new</span>";

}

?>

</span>

<div class="clear"></div>

<!-- why isn't smooth-separator also doing the clear? -->

<div class="smooth-separator margin_10"></div>

<?php

}

?>

<?php

$mod = filter_input(INPUT_GET, 'mod', FILTER_SANITIZE_STRING);

$page = filter_input(INPUT_GET, 'page', FILTER_SANITIZE_STRING);

if(is_null($mod) && (is_null($page)|| $page == "en_Home") && $this->db->num_rows($SearchTable)>0):

?>

<div class="text-center">

<a class="underline-link" href="<?php echo $this->mod_link("latest_listings");?>"><?php echo $M_SEE_MORE;?></a>

</div>

<?php

// where code is really messy and it's easy to lose the closing bracket I like to use this style of if/endif

endif;

?>

Код (php):
 

Allenes


Рег
01 Oct, 2015

Тем
0

Постов
2

Баллов
2
  • 05, Jun 2024
  • #6
Привет СараК, Я сделал тестовый список, и он не отображается как «Новый». Глядя на список_даты БД (если это имеет какое-то значение), по какой-то причине используются 10 цифр, которые даже не имеют смысла говорить - день, месяц, год и время. С наилучшими пожеланиями
 

seolinkspay


Рег
11 Mar, 2012

Тем
1

Постов
3

Баллов
13
  • 08, Jun 2024
  • #7
Я думаю, что это может быть функция в этом каталоге, но вы сможете использовать ее для своих целей, если $M_AGE говорит о минутах, а не месяцах.
 $time_diff = time_since($listing["date"]);
if ($time_diff < (60*24)) {

echo 'new';
}
Код (php):
 

lesha1980


Рег
21 Nov, 2011

Тем
1

Постов
5

Баллов
15
  • 10, Jun 2024
  • #8
Привет Сарак, Все еще не отображается, я просмотрел код и обнаружил, что в другом файле отображается время листинга и используется этот код.
 <?php echo time_since($listing["date"])." ".$M_AGO;?>
Код (разметка): Не уверен, что это поможет. С наилучшими пожеланиями
 

Анастасия3331


Рег
23 Mar, 2016

Тем
1

Постов
3

Баллов
13
  • 11, Jun 2024
  • #9
@смертельная тень Я не программист, я понимаю только ограниченное количество кода, поэтому я прихожу сюда, чтобы попросить о помощи.

Если бы у меня были деньги, я бы хотел, чтобы программист написал его с нуля, поэтому все, что я могу сделать, это «сделать боюсь делать то, что у меня есть, но спасибо за ваши идеи. С наилучшими пожеланиями
 

Artsalana


Рег
11 Mar, 2011

Тем
1

Постов
17

Баллов
27
Тем
49554
Комментарии
57426
Опыт
552966

Интересно