Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
задача. ячейка содержит по умолчанию значения 0000-00-00 00:00:00 как сделать if else, чтобы из ячейки вывести все, что не содержит нулевые значения даты-времени ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2014, 19:04 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
Осталось догадаться, что это за ячейка и какой ЯП используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2014, 20:36 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
vkle, {$users[user_loop].users_update} выводит, всё что содержится в ячейке users_update (datetime) а там либо 0000-00-00 00:00:00, либо заполнено дата-время суть, если дата-время, выводим дата-время, иначе, ничего не выводим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2014, 20:54 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
Это Smarty или что другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 01:32 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
vkle, да смарти Модератор: Название топика откорректировано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 07:16 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
Ну а что мешает, просто в IF сравнить и всё ? Код: html 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 11:57 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
чувак, срочно исправляй...я не рылся в причинах, но у меня тоже было такое значение по умолчанию в базе, и нормально работало, а при переносе вроде на стаким же ПО другой сервер, начало ругаться про недопустимое значение .... ЗЫ структура базы на обе машины выгружалась из одной и той же модели .=== полностью идентична. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 12:21 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
anvano, белый лист даёт пробовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 14:44 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, а как исправлять? создать поле с другим типом? сейчас там тип поля DATETIME есть таблица users в поле которой users_update записываются периодически данные DATETIME по истечении суток скрипт удаляет оттуда данные и остаются по умолчанию 0000-00-00 00:00:00 это по базе. а по пхп, надо чтобы через if-else выводилось из базы но НЕ 0000-00-00 00:00:00, а даты обновления ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 14:54 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
Женя_87alex564657498765453, а как исправлять? создать поле с другим типом? сейчас там тип поля DATETIME есть таблица users в поле которой users_update записываются периодически данные DATETIME по истечении суток скрипт удаляет оттуда данные и остаются по умолчанию 0000-00-00 00:00:00 это по базе. а по пхп, надо чтобы через if-else выводилось из базы но НЕ 0000-00-00 00:00:00, а даты обновления ну ты смотри сам, мне важно в моей логике было, чтобы это самое время было или больше равно, или меньше последнего_контрольного...я поставил по умолчанию 1971-01-01 00:00:00 и оно было меньше естесвенно чем последнего_контрольного(), а если уже апдейтилось, то больше последнего_контрольного(). у меня правда было таймстемп, но у тебя похожее документацияThe DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59' как и для юникс-тайм-стемпа, нимимум не равен нулю... тебе что нужно, если дата есть или нету. 1)разрешить значение НУЛЛ и ставить его вместо нулей. 2)ставить минимальную (но тут надо учесть временные зоны...) дело в том, что когда ты ставишь в базу время, по умолчанию оно в временой зоне клиента, и в базу будет записано для типов с временой зоной - в зоне базы, для без - время по гринвичу. для нас, восточнее гринвича это всегда отнимание часов, так что может выйти не допустимое значение. ==== а вообще, я щитаю, что хранить данные лучше без привязки к временой зонне. - при миграции хранилища данных не возникнет проблем, если в новом месте другой часовой пояс, неоднозначности с летним зимним временем (оно видиш ли иногда меняеться по велению царя батюшки) - проще писать код клиентов этих данных, если везде по коду извесно - в базе ютс. (просто иногда их достаешь как бинарные данные, ещо какие экзотические финты) ЗЫ кслову говоря. файловая система хранит метки времени изменения файлов в ютс времени(гринвич) - поэтому удобно, переставил винчестер в другой комп, он всёравно покажет верную дату изменения файла, даже не зная где винчестер стоял до этого. ЗЫЗЫ как тебе поступить с нулевым временем - надо знать конкретику задачи, что это время означает? что означает нулевое значение. ЗЫЗЫЗЫ ваще подозреваю что ты пропустил мимо лучший способ организации базы. как я понял, у тебя это поле, должно хранить текущее время изменения данных? именно время без даты..дата всегда сегодняшняя, раз ты каждые сутки обнуляешь значения. ДЫК - бери тип время(без даты) и ставь на это поле ON UPDATE CURRENT_TIMESTAMP и оно само будет обновлять поле при изменении записи в таблице. а ночью везде выставляешь время нулевое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 15:32 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, спасибо за офигенный ответ)! 1)разрешить значение НУЛЛ и ставить его вместо нулей. а как это сделать? по умолчанию для каждого юзера в поле users_update стоит DATETIME и соответственно 0000-00-00 00:00:00 я могу изменить это поле, но как сделать, чтобы по умолчанию там выставлено было NULL ? Принцип такой. Юзеры сайта знакомств поднимают анкеты. По умолчанию там 0000-00-00 00:00:00, но когда происходит "подъем анкеты", посылается запрос вида Код: html 1. что приводит к тому, что поле получает дату-время. Потом, юзер "висит" сутки, затем другой запрос, Код: html 1. 2. 3. и он "улетает". Но я хотел сделать еще дополнительно условие, чтобы если юзер "висит", то в его профиле появлялась дата когда он "поднялся". У тех же, кто не "поднялся" - пусто. как вариант можно было бы задать подобием как ты делал автормне важно в моей логике было, чтобы это самое время было или больше равно, или меньше последнего_контрольного...я поставил по умолчанию 1971-01-01 00:00:00 но конструкция вида {if $users[user_loop].users_update > 1971-01-01 00:00:00'} {$users[user_loop].users_update} {else} {/if} дает пустой лист .. Если бы можно было поле users_update задать как NULL по умолчанию, и чтобы туда переодически писалось дата-время, это было бы просто, тогда бы можно было поставить простое условие - если не равен нулл то ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 16:46 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
авторно конструкция вида {if $users[user_loop].users_update > 1971-01-01 00:00:00'} {$users[user_loop].users_update} {else} {/if} дает пустой лист ошибку она даёт, а не пустой лист ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 16:49 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
anvanoНу а что мешает, просто в IF сравнить и всё ? Код: html 1. Что-то не то с кавычками вокруг "нулевой" даты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 17:41 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
vkle, если дописать кавычку Код: html 1. все равно не срабатывает, хоть и белого листа нет. По логике должно выдавать значения только тех, кто не равен нулю, но выводит всем дату 30.11.-0001 - в 00 час. 00 мин. т.е. у тех, у кого в таблице стоит 0000-00-00 00:00:00 а тем, у кого не ноль тоже но выводит корректно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 17:57 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
авторПо логике эпично. ты хоть попроуй подумать ЧТО ЭТО в смарти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 17:59 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
vkle, хех. {if $users[user_loop].users_update1 < '1971-00-00 00:00:00'} {$users[user_loop].users_update1} {else} {/if} сработало! всем СПАСИБО!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2014, 18:11 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
Женя_87, :) круто. а нащот значения по умолчанию нулл при создании , изменении таблицы каждое поле описываеться по типу <name> <type> <can_be_null? : NULL | NOT NULL> default <value> ... `date_up` DATETIME NULL DEFAULT NULL, ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2014, 11:29 |
|
||
|
[Smarty] Как сделать вывод значения по условию?
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, хех. как только изменил на NULL и поле и содержимое, {if $users[user_loop].users_update1 < '1971-00-00 00:00:00'} {$users[user_loop].users_update1} {else} {/if} перестало все работать.. {if $users[user_loop].users_update1 < NULL} {$users[user_loop].users_update1} {else} {/if} тоже не работает.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.06.2014, 23:46 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38672461&tid=1462673]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 255ms |
| total: | 421ms |

| 0 / 0 |
