Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: отчет времени в обратном порядке
 
 автор: tauruz   (20.06.2006 в 15:28)   письмо автору
 
 

как сделать обратный отчет времени?

например как на аукционе молоток.ру

выставляется товар на продажу к примеру на десять дней
и всегда можно посмотреть сколько осталось времени до
снятия товара с продажи??

   
 
 автор: kasmanaft   (20.06.2006 в 16:17)   письмо автору
 
   для: tauruz   (20.06.2006 в 15:28)
 

можно к времени сначала прибавить N дней, потом от этого числа отнимать текущее время, вот и все ;-)

   
 
 автор: valenok   (20.06.2006 в 16:17)   письмо автору
 
   для: tauruz   (20.06.2006 в 15:28)
 


<?php
$till
=1102658974// Заданное время
$r$till-time();  // Считаем сколько времени осталось
$r_d=$r / (24 6060); //  Узнаём сколько дней
$r=$r/24;
$r_h=$r/3600// Подсчитываем колво оставшихся часов
$r=$r/60;
$r_s=$r/60

echo "До закрытия осталось: ".$r_d." дней, ".$r_h."  часов и ".$r_s." секунд";


   
 
 автор: tauruz   (20.06.2006 в 16:33)   письмо автору
 
   для: valenok   (20.06.2006 в 16:17)
 


$till=1102658974;


а что это за число?
секунды?

   
 
 автор: valenok   (20.06.2006 в 16:36)   письмо автору
 
   для: tauruz   (20.06.2006 в 16:33)
 

Время в секундах с начала эпохи линукса.
Примерно: 01/01/1970 00:00

   
 
 автор: tauruz   (20.06.2006 в 16:39)   письмо автору
 
   для: valenok   (20.06.2006 в 16:36)
 

(24 * 60* 60);

а это один день!

Спасибо !!

   
 
 автор: tauruz   (20.06.2006 в 16:47)   письмо автору
 
   для: valenok   (20.06.2006 в 16:36)
 

То есть, если в данный момент продается товар то он имеет определенный статус в базе данных, и нужен скрипт который будет постоянно следить за остатком времени??

Или перед выводом из базы товаров которые продаются все проверяются на остаток времени?? Если время осталось то выводим и показываем скока??? Так?

   
 
 автор: Loki   (20.06.2006 в 17:01)   письмо автору
 
   для: valenok   (20.06.2006 в 16:36)
 

>с начала эпохи линукса.
а точно не юникса?:)

   
 
 автор: tauruz   (20.06.2006 в 17:02)   письмо автору
 
   для: Loki   (20.06.2006 в 17:01)
 

это у же не пинципиально!

   
 
 автор: NFR   (20.06.2006 в 17:06)   письмо автору
 
   для: valenok   (20.06.2006 в 16:17)
 

если данные о товарах и времени хранятся в MySql, то есть способ попроще...

   
 
 автор: tauruz   (20.06.2006 в 17:07)   письмо автору
 
   для: NFR   (20.06.2006 в 17:06)
 

продолжите пожалуйста!!!

   
 
 автор: NFR   (20.06.2006 в 17:19)   письмо автору
 
   для: tauruz   (20.06.2006 в 17:07)
 

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

   
 
 автор: tauruz   (20.06.2006 в 17:34)   письмо автору
 
   для: NFR   (20.06.2006 в 17:19)
 

кто ни будь делал аукцион?

   
 
 автор: valenok   (20.06.2006 в 18:20)   письмо автору
 
   для: tauruz   (20.06.2006 в 17:34)
 

Да.

   
 
 автор: tauruz   (20.06.2006 в 19:00)   письмо автору
 
   для: valenok   (20.06.2006 в 18:20)
 

То есть, если в данный момент продается товар то он имеет определенный статус в базе данных, и нужен скрипт который будет постоянно следить за остатком времени??

Или перед выводом из базы товаров которые продаются все проверяются на остаток времени?? Если время осталось то выводим и показываем скока??? Так?

   
 
 автор: valenok   (20.06.2006 в 19:14)   письмо автору
 
   для: tauruz   (20.06.2006 в 19:00)
 

Я бы делал что то такое:
items.php

<?php 

$link
=mysqL_connect();mysql_select_db();
$res=mysql_query("SELECT * FROM 'auction' WHERE 'time'<".time(),$link);
while(
$row=mysql_fetch_assoc($res)){
echo 
"<A href=\"auction.php?id=".$row['id']."\">".$row['item']."</A>";
}
?>


auction.php

<?php
$link
=mysqL_connect();mysql_select_db();


$till=mysql_result(mysql_query("SELECT 'time' FROM 'auction' WHERE 'id'=".$_GET['id'],$link),0); // Заданное время 
if($till<time()){die("Извините, данный аукцион уже давно закрыт");}
$r$till-time();  // Считаем сколько времени осталось 
$r_d=$r / (24 6060); //  Узнаём сколько дней 
$r=$r/24
$r_h=$r/3600// Подсчитываем колво оставшихся часов 
$r=$r/60
$r_s=$r/60 

echo "До закрытия осталось: ".$r_d." дней, ".$r_h."  часов и ".$r_s." секунд";

   
 
 автор: tauruz   (20.06.2006 в 22:42)   письмо автору
 
   для: valenok   (20.06.2006 в 19:14)
 

спасибо большое за разяснения.

еще вопрос

как можно было бы осуществить например автоматическую отправку письма по завершении аукциона?

сижу например дома а мне приходит письмо аукцион закончился

заранее благобдарю!

   
 
 автор: valenok   (20.06.2006 в 22:53)   письмо автору
 
   для: tauruz   (20.06.2006 в 22:42)
 

Ну смотри. Надо запустить скрипт по окончанию аукциона. Либо это сделаешь ты, либо пользователи аукционеры, либо крон.

   
 
 автор: tauruz   (20.06.2006 в 23:11)   письмо автору
 
   для: valenok   (20.06.2006 в 22:53)
 

спасибо! все ясно

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования