|
|
|
| Ребят помогите реализовать следующее:
- Если дата окончания договора <= сегодняшней или отсутствует необходимо вывести текст «Возможно заключение договора»
- Если дата окончания договора, > чем сегодняшняя тогда выводим следующую надпись Возможно заключение договора с ДАТА.
Поля в БД:
дата окончания договора - putdate (в формате 2008-06-16 23:39:00) | |
|
|
|
|
|
|
|
для: t3ma
(16.06.2008 в 17:03)
| |
<?php
$putdate = '2008-06-16 23:39:00'; # Дата из таблицы
if( $putdate <= date('Y-m-d H:i:s') )
{
echo 'Возможно заключение договора';
}
else
{
# Возможно заключение договора с ДАТА ...
}
?>
|
[поправлено модератором] | |
|
|
|
|
|
|
|
для: BinLaden
(16.06.2008 в 17:57)
| | Спасибо большое, а если дата в таком формате 31.12.2008 ?
<?php
$putdate = '31.12.2008'; # Дата из таблицы
if( $putdate <= date('Y-m-d') )
{
echo 'Возможно заключение договора';
}
else
{
# Возможно заключение договора с ДАТА ...
}
?>
|
правильно ? )) | |
|
|
|
|
|
|
|
для: t3ma
(21.06.2008 в 07:07)
| | Нет, не правильно. Тогда получать текущую дату нужно так:
<?
$putdate = '31.12.2008'; # Дата из таблицы
if( $putdate <= date('d.m.Y') )
{
echo 'Возможно заключение договора';
} else
|
Плюс учитывать, что m - возвращает месяц с ведущии нулями, и если он в источнике будет записан без них, то нужно указывать параметр для месяца как - n. Собственно, это же может касаться и формата вывода дней. Ознакомьтесь с функцией date(). | |
|
|
|
|
|
|
|
для: t3ma
(21.06.2008 в 07:07)
| | >Спасибо большое, а если дата в таком формате 31.12.2008 ?
а если в таком формате, то сравнить её будет невозможно. Поскольку младшие разряды окажутся впереди старших.
to sim5: :-( | |
|
|
|
|
|
|
|
для: Trianon
(21.06.2008 в 12:01)
| |
<?php
$putdate = '21.6.2008'; # Дата из таблицы
if( $putdate <= date('d.n.Y') )
{
echo 'Возможно заключение договора';
}
else
{
echo 'Невозможно заключение договора';
}
?>
|
А почему работает? | |
|
|
|
|
|
|
|
для: Zend72
(21.06.2008 в 12:10)
| | $putdate = '3.6.2008'; # Дата из таблицы
if( $putdate <= date('d.n.Y') )
$putdate = '22.5.2008'; # Дата из таблицы
if( $putdate <= date('d.n.Y') )
$putdate = '21.10.2008'; # Дата из таблицы
if( $putdate <= date('d.n.Y') )
Потому что не работает.
Теперь, блин, надеюсь примеров достаточно?! | |
|
|
|
|
|
|
|
для: Trianon
(21.06.2008 в 12:24)
| | Да | |
|
|
|
|
|
|
|
для: Trianon
(21.06.2008 в 12:01)
| |
<?php $query = "SELECT id,
code,
area,
DATE_FORMAT(putdate,'%d.%m.%Y') as putdate_format,
floor,
cost,
url_pict,
hide
FROM news
WHERE hide='show' AND code=$variable
ORDER BY code DESC
LIMIT $begin, $all_number_news";
$new = mysql_query($query);
if ($new)
{
while($news = mysql_fetch_array($new))
{
// Если дата заключения договора <= текущей то выводим надпись "Возможно заключение договора"
// если > текущей то выводим надпись "Возможно заключение договора с {дата}"
$putdate = "".$news['putdate']."";
if( $putdate <= date('Y-m-d H:i:s') ) {
$date = "Возможно заключение договора";
}
else {
$date = "Возможно заключение договора с ".$news['putdate_format']."";
}
?>
|
Почему то неправильно работает.. не могу найти ошибку
В позиции стоит дата освобождения договора 2008-12-20 22:28:00 и показывает что Возможно заключение договора
и во второй позиции стоит дата освобождения договора 2008-12-31 17:37:00 и показывает что Возможно заключение договора с 31.12.2008
т.е. почему-то месяц не учитывает, только число, помогите разобраться в чем дело | |
|
|
|
|
|
|
|
для: t3ma
(21.06.2008 в 12:59)
| | Откуда Вы берете $news['putdate']? Что-то я не вижу в запросе ничего подобного. | |
|
|
|
|
|
|
|
для: BinLaden
(21.06.2008 в 13:29)
| | Всем спасибо, я разобрался | |
|
|
|
|
|
|
|
для: Trianon
(21.06.2008 в 12:01)
| | Trianon, логично. Тогда мне надо выбрасывать свой сервер:
<?
$date = '21.6.2008';
echo $date <= date('d.n.Y') ? "<=" : ">";
|
Работатет. | |
|
|
|
|
|
|
|
для: sim5
(21.06.2008 в 14:20)
| | > Работатет
Вы шутите? Со следующего месяца не будет работать. | |
|
|
|
|
 5 Кб |
|
|
для: BinLaden
(21.06.2008 в 14:39)
| | Какие шутки, я уже никотина принял для успокоения. Вот картинкой от шопа, но не рисованное в нем. Ответ выдает правильный? | |
|
|
|
|
|
|
|
для: sim5
(21.06.2008 в 14:49)
| | Ну что Вы ерничаете, право слово? Не смешно уже. Я не верю, что Вы не знаете правила сравнения строк в php.
Картинки к примерам (21.06.2008 в 12:24) мне делать лень. | |
|
|
|
|
|
|
|
для: Trianon
(21.06.2008 в 15:44)
| | Я не про правило, я о том, что моему локальному серверу получается они по барабану. Я уже перключал системный календарь - РНР-редактор предлагает сразу обновить файл, кашмарский в тровоге, а сравнение строк работает.
Если често, то я в легкой панике. У меня уже есть одна проблема, которую я так и не могу решить - загрузка только 5 файлов, причем только первых пяти полей формы, остальное просто не копируется из папки tmp. Теперь получается добавилась еще, и наверное есть и другие, о которых я даже могу и не подозревать. | |
|
|
|
|
|
|
|
для: sim5
(21.06.2008 в 15:54)
| | sim5, я ничего не понял абсолютно. Что у Вас конкретно вызывает удивление? Тот результат, что у Вас в аттачменте? Ничего удивительного не вижу: сегодня 21-ое число и там стоит 21-ое - значит это равные участки строки, далее идёт сравнение "6" и "7". Условие "7" <= "6" не выполняется и на этом всё заканчивается. | |
|
|
|
|
|
|
|
для: BinLaden
(21.06.2008 в 17:08)
| | Вы думаете я не догадался перключать календарь, менять даты. Единственный правильный момент у меня возникает тогда, когда я сменю в формате даты, например, n на m (ну и представление месяца в строке) - все ОК, но только в этот момент, стоит изменить, например, число в строке - опять никакой логики тогда. | |
|
|
|
|
|
|
|
для: sim5
(21.06.2008 в 17:56)
| | К сожалению, не увидел ответа - что у Вас конкретно вызывает удивление?
> Вы думаете я не догадался перключать календарь, менять даты
Я, например, до такого бы не догадался, а заменил бы date('d.m.Y') на обычную литеральную константу... | |
|
|
|
|
|
|
|
для: BinLaden
(21.06.2008 в 18:40)
| | А вот я догадался и вносить изменения, и системное время менять.) В общем точно, не работает у меня сравнение как положено, просто строк. Неожиданные результаты могу получать при преобразованиях. Unpack возвращает всегда неверно, если запрашиваю слово (то есть как бы никакой реакции на указанный формат)... | |
|
|
|