|
Сравнение с вывод
|
|
Пользователь
56 сообщений
Мужчина
|
Помогите написать скрипт который будет определять дату что больше $ADD_DATA$ (Дата добавления материала) и $DATA$ сегодняшний день!Добавлено (28.08.2012, 21:33) --------------------------------------------- У меня например (оператор $ADD_DATA$) 01.01.2013, а сегодня у нас (оператор $DATA$) 28.08.2012 И надо что бы они сравнились Что больше $DATA$ или $ADD_DATA$ И что меньше $DATA$ или $ADD_DATA$ Добавлено (28.08.2012, 21:33) --------------------------------------------- Как бы еще объяснить. Это можно осуществить через операторы или php Мне просто надо чтобы они сравнились Если $ADD_DATA$ будет больше чем $DATA$ то будет один результат которые потом я смогу редактировать. Например там поставлю "Уже наступила та дата" А если $DATA$ больше чем $ADD_DATA$ тогда пишет "Это дата еще не наступила"
|
|
|
|
|
|
Beginner
69 сообщений
Мужчина
|
Можно конечно реализовать и на javascipt и на php(код куда легче будет), но уж очень я люблю мучать стандартные операторы: Code <? if(substr($DATA$,strrpos($DATA$,'.')+1) > substr($ADD_DATA$,strrpos($ADD_DATA$,'.')+1)) ?>Уже наступила эта дата<? else ?> <? if(substr($DATA$,strrpos($DATA$,'.')+1) < substr($ADD_DATA$,strrpos($ADD_DATA$,'.')+1)) ?>Эта дата еще не наступила<? else ?>
<? if(substr(substr($DATA$,strpos($DATA$,'.')+1,strrpos($DATA$,'.')-(strpos($DATA$,'.')+1)),0,1)!='0') ?>
<? if(substr($DATA$,strpos($DATA$,'.')+1,strrpos($DATA$,'.')-(strpos($DATA$,'.')+1)) > substr($ADD_DATA$,strpos($ADD_DATA$,'.')+1,strrpos($ADD_DATA$,'.')-(strpos($ADD_DATA$,'.')+1))) ?>Уже наступила эта дата<? else ?> <? if(substr($DATA$,strpos($DATA$,'.')+1,strrpos($DATA$,'.')-(strpos($DATA$,'.')+1)) < substr($ADD_DATA$,strpos($ADD_DATA$,'.')+1,strrpos($ADD_DATA$,'.')-(strpos($ADD_DATA$,'.')+1))) ?>Эта дата еще не наступила<? else ?> <? if(substr($DATA$,0,strpos($DATA$,'.')) > substr($ADD_DATA$,0,strpos($ADD_DATA$,'.'))) ?>Уже наступила эта дата<? else ?> <? if(substr($DATA$,0,strpos($DATA$,'.')) < substr($ADD_DATA$,0,strpos($ADD_DATA$,'.'))) ?>Эта дата еще не наступила<? else ?>Уже наступила эта дата<? endif ?> <? endif ?> <? endif ?> <? endif ?>
<? else ?>
<? if(substr(substr($DATA$,strpos($DATA$,'.')+1,strrpos($DATA$,'.')-(strpos($DATA$,'.')+1)),1) > substr(substr($ADD_DATA$,strpos($ADD_DATA$,'.')+1,strrpos($ADD_DATA$,'.')-(strpos($ADD_DATA$,'.')+1)),1)) ?>Уже наступила эта дата<? else ?> <? if(substr(substr($DATA$,strpos($DATA$,'.')+1,strrpos($DATA$,'.')-(strpos($DATA$,'.')+1)),1) < substr(substr($ADD_DATA$,strpos($ADD_DATA$,'.')+1,strrpos($ADD_DATA$,'.')-(strpos($ADD_DATA$,'.')+1)),1)) ?>Эта дата еще не наступила<? else ?> <? if(substr($DATA$,0,strpos($DATA$,'.')) > substr($ADD_DATA$,0,strpos($ADD_DATA$,'.'))) ?>Уже наступила эта дата<? else ?> <? if(substr($DATA$,0,strpos($DATA$,'.')) < substr($ADD_DATA$,0,strpos($ADD_DATA$,'.'))) ?>Эта дата еще не наступила<? else ?>Уже наступила эта дата<? endif ?> <? endif ?> <? endif ?> <? endif ?>
<? endif ?>
<? endif ?> <? endif ?>
|
|
|
|
|
|
Пользователь
56 сообщений
Мужчина
|
Best_sanya, это конечно классно! Но в нем ошибка,так как у меня есть материал у него адд_дата больше чем дата! Но он все ровно показывает "Уже наступила эта дата" Это кстати где 1 раз это написанно!
|
|
|
|
|
|
Beginner
69 сообщений
Мужчина
|
Перепутал даты, теперь должно правильно обрабатывать
|
|
|
|
|
|
Пользователь
56 сообщений
Мужчина
|
Теперь тут ошибка Добавлено (29.08.2012, 00:00) --------------------------------------------- UP
|
|
|
|
|
|
Beginner
69 сообщений
Мужчина
|
lesterblak, не понимаю, вроде все правильно. В чем именно проявляется эта ошибка?
|
|
|
|
|
|
Пользователь
56 сообщений
Мужчина
|
В данный момент у меня стоит $ADD_DATA$ 01.01.2013, а сегодня 29.08.2012 А вот эта строчка выдает Code <? if(substr($DATA$,0,strpos($DATA$,'.')) < substr($ADD_DATA$,0,strpos($ADD_DATA$,'.'))) ?>Эта дата еще не наступила<? else ?>Уже наступила эта дата<? endif ?> Уже наступила эта дата
|
|
|
|
|
|
Beginner
69 сообщений
Мужчина
|
lesterblak, зачем мы проверяете построчно? Это строка сверяет только день, если месяц и год оказались равными в двух датах.
|
|
|
|
|
|
Пользователь
56 сообщений
Мужчина
|
Best_sanya, я и не проверял построчно. Я вставил код(полностью), смотрю, "Уже наступила эта дата". Потом начал проверять! Просто текст везде поменял и мне выдало то что тут вывод неверный!
|
|
|
|
|
|
Beginner
69 сообщений
Мужчина
|
Не понимаю, несколько раз пересматриваю код и не вижу ошибки.
|
|
|
|
|
|
Пользователь
56 сообщений
Мужчина
|
Best_sanya, А ты его проверял,проверь сам,добавь два материала один который будет больше сегодняшнего дня,воторй меньше
|
|
|
|
|
|
Beginner
69 сообщений
Мужчина
|
lesterblak, и что в итоге будет?
|
|
|
|
|
|
Пользователь
56 сообщений
Мужчина
|
Что в итоге? А может увидишь в чем ошибка, разберешься. Ну посмотри!
|
|
|
|
|
|
Beginner
69 сообщений
Мужчина
|
lesterblak, я понял в чем дело, всему виной этот нолик в начале месяца. Сейчас скину поправленный вариант.
|
|
|
|
|
|
Пользователь
56 сообщений
Мужчина
|
Тоже не робит
|
|
|
|
|
|
Бывалый
1313 сообщений
Мужчина
|
ФАК зачем так насиловать операторы XDDDDDDDDD Code <?if(substr($ADD_DATE$,6,2) > substr($DATE$,6,2))?> <!-- Проверяем год, если он больше, то сразу выводим дата не наступила --> Эта дата ещё не наступила <?else?> <?if(substr($ADD_DATE$,6,2) < substr($DATE$,6,2))?> <!-- Проверяем год, если он меньше, то сразу выводит дата прошла --> Эта дата уже прошла <?else?> <?if(substr($ADD_DATE$,6,2) = substr($DATE$,6,2))?> <!-- Проверяем год, если равен, то проверяем месяц --> <?if(substr($ADD_DATE$,3,2) > substr($DATE$,3,2))?> <!-- Проверяем месяц, если он больше, то сразу выводим дата не наступила --> Эта дата ещё не наступила <?else?> <?if(substr($ADD_DATE$,3,2) < substr($DATE$,3,2))?> <!-- Проверяем месяц, если он меньше, то сразу выводит дата прошла --> Эта дата уже прошла <?else?> <?if(substr($ADD_DATE$,3,2) = substr($DATE$,3,2))?> <!-- Проверяем месяц, если равен, то проверяем день --> <?if(substr($ADD_DATE$,0,2) > substr($DATE$,0,2))?> <!-- Проверяем день, если он больше, то сразу выводим дата не наступила --> Эта дата ещё не наступила <?else?> <?if(substr($ADD_DATE$,0,2) = substr($DATE$,0,2))?> <!-- Проверяем день, если равен, то выводит что сегодня эта дата--> Сегодня эта дата <?else?> <?if(substr($ADD_DATE$,0,2) < substr($DATE$,0,2))?> <!-- Проверяем день, если он меньше, то дата прошла --> Эта дата уже прошла <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> Так проще и рабочий вариант. Тут проверка: http://moytestsite.moy.su/board (заходим в каждый материал)
|
|
|
|
|
|
Пользователь
56 сообщений
Мужчина
|
SkaZzzz, ок,добавь материал и измени дату на 01.01.2013 или на 09.10.2011 Тоже не робит :(
|
|
|
|
|
|
Бывалый
1313 сообщений
Мужчина
|
lesterblak, руки у тебя не робят.... Я добавил уже 5 материалов, с разными датами и всё идеально работает и правильно показывает. Quote http://moytestsite.moy.su/board/
Code <div style="background:red;display:block;padding:10px;color:#FFF"> <?if(substr($ADD_DATE$,6,2) > substr($DATE$,6,2))?> Эта дата ещё не наступила <?else?> <?if(substr($ADD_DATE$,6,2) < substr($DATE$,6,2))?> Эта дата уже прошла <?else?> <?if(substr($ADD_DATE$,6,2) = substr($DATE$,6,2))?> <?if(substr($ADD_DATE$,3,2) > substr($DATE$,3,2))?> Эта дата ещё не наступила <?else?> <?if(substr($ADD_DATE$,3,2) < substr($DATE$,3,2))?> Эта дата уже прошла <?else?> <?if(substr($ADD_DATE$,3,2) = substr($DATE$,3,2))?> <?if(substr($ADD_DATE$,0,2) > substr($DATE$,0,2))?> Эта дата ещё не наступила <?else?> <?if(substr($ADD_DATE$,0,2) = substr($DATE$,0,2))?> Сегодня эта дата <?else?> <?if(substr($ADD_DATE$,0,2) < substr($DATE$,0,2))?> Эта дата уже прошла <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> </div>
|
|
|
|
|
|
Пользователь
56 сообщений
Мужчина
|
del!ПОФИГ!НЕ РОБИТ ТОЖЕ!
|
|
|
|
|
|
Бывалый
1313 сообщений
Мужчина
|
Данный код будет работать только в "страница материала и комментариев к нему", в виде материала работать не будет. Ну как может не работать, я даже пример предоставил и разные даты. Следовательно ты что-то не то делаешь. PS: 1 и 2 мой код идентичны, ничего нет удивительного, что если 1 код не работает, то и 2 аналогично.
|
|
|
|
|
|
|
Сообщение от пользователя iFrendly с отрицательной репутацией.
Вы можете просмотреть это или все сообщения данного пользователя.
|
Бывалый
1721 сообщениий
Мужчина
|
lesterblak, 
|
|
|
|
|
|
Пользователь
56 сообщений
Мужчина
|
ты меня за лоха не считай! я говорю не робит!
Добавлено (29.08.2012, 14:05) --------------------------------------------- ок смотри,http://qooga.ru/stuff/baza/microsoft/state_of_decay/7-1-0-15 Code <div style="background:red;display:block;padding:10px;color:#FFF"> <?if(substr($ADD_DATE$,6,2) > substr($DATE$,6,2))?> Эта дата ещё не наступила <?else?> <?if(substr($ADD_DATE$,6,2) < substr($DATE$,6,2))?> Эта дата уже прошла <?else?> <?if(substr($ADD_DATE$,6,2) = substr($DATE$,6,2))?> <?if(substr($ADD_DATE$,3,2) > substr($DATE$,3,2))?> Эта дата ещё не наступила <?else?> <?if(substr($ADD_DATE$,3,2) < substr($DATE$,3,2))?> Эта дата уже прошла <?else?> <?if(substr($ADD_DATE$,3,2) = substr($DATE$,3,2))?> <?if(substr($ADD_DATE$,0,2) > substr($DATE$,0,2))?> Эта дата ещё не наступила <?else?> <?if(substr($ADD_DATE$,0,2) = substr($DATE$,0,2))?> Сегодня эта дата <?else?> <?if(substr($ADD_DATE$,0,2) < substr($DATE$,0,2))?> Эта дата уже прошла <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> <?endif?> </div>
Добавлено (29.08.2012, 14:07) --------------------------------------------- melomen707, пошутил, смешно то как, бан бы тебе за спасм дать! --- Все разобрались было дело в году
|
|
|
|
|
|