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

Форум PHP

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

 

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

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

тема: Работа с датой
 
 автор: kis-kis   (08.01.2007 в 09:24)   письмо автору
 
 

Тип поля дата в базе - DATE.

Необходимо к дате прибавить число дней и получить новую дату.
Как это сделать?

Так не работает, складываются годы, а нужно дни:


Допустим 
$newdata=($row["data"] + 15);
echo $newdata;


Спасибо.

   
 
 автор: DEM   (08.01.2007 в 09:36)   письмо автору
 
   для: kis-kis   (08.01.2007 в 09:24)
 

А как имнео у вас видна дата:
2007:08:01 10:11:12
Или как-то по другому?

   
 
 автор: kis-kis   (08.01.2007 в 09:54)   письмо автору
 
   для: DEM   (08.01.2007 в 09:36)
 

Я же написал тип поля DATE, а как вы написали это тип поля DATETIME

   
 
 автор: kis-kis   (08.01.2007 в 13:03)   письмо автору
 
   для: kis-kis   (08.01.2007 в 09:54)
 

Никто не знает как сложить это?

   
 
 автор: kasmanaft   (08.01.2007 в 13:24)   письмо автору
 
   для: kis-kis   (08.01.2007 в 13:03)
 

Вот, например:

<?
$time 
'2007-01-08';
echo 
date('Y-m-d'strtotime($time)+5*24*60*60);
//echo date('Y-m-d', strtotime($time. '+ 5 days'));
?>

   
 
 автор: cheops   (08.01.2007 в 14:29)   письмо автору
 
   для: kis-kis   (08.01.2007 в 09:24)
 

Возможно вам будет удобнее прибавить 15 дней прямо в SQL-запросе
SELECT date + INTERVAL 15 DAY AS date FROM tbl

   
 
 автор: kis-kis   (08.01.2007 в 15:52)   письмо автору
 
   для: cheops   (08.01.2007 в 14:29)
 

Нет, так не получится.
Из базы помимо даты выводятся еще данные.
Вот база:


`period` int(3) default NULL,
`data` date NOT NULL default '0000-00-00',


В поле data лежит дата, а в поле period - кол-во дней которое нужно к ней прибавить и получить новую дату. Потом ее вывести. Как это сделать?

Спасибо.

   
 
 автор: cheops   (08.01.2007 в 15:55)   письмо автору
 
   для: kis-kis   (08.01.2007 в 15:52)
 

Вы можете использовать вместо цифры столбец
SELECT date + INTERVAL period DAY AS date FROM tbl

   
 
 автор: kis-kis   (08.01.2007 в 17:34)   письмо автору
 
   для: cheops   (08.01.2007 в 15:55)
 

Данные выводятся так:


$query = "SELECT * FROM j_vacancy WHERE status='1' and userid = '$s_userid' and id='$v'";
$req = mysql_query($query) or die("<B>Error ".mysql_errno()." :</B> ".mysql_error()."");


Вы предлагаете сделать дополнительный запрос?

SELECT date + INTERVAL period DAY AS date FROM tbl

   
 
 автор: cheops   (09.01.2007 в 01:06)   письмо автору
 
   для: kis-kis   (08.01.2007 в 17:34)
 

Нет, просто заменить * на перечисление столбцов, а вместо календарного столбца использовать представленное выше выражение.

   
 
 автор: kis-kis   (09.01.2007 в 12:20)   письмо автору
 
   для: cheops   (09.01.2007 в 01:06)
 

Спасибо. Так и сделаю...

   
Rambler's Top100
вверх

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