|
|
|
| Есть бд DATE (id, date) и код где выводятся все даты постов
<?
$result = mysql_query("SELECT * FROM date ORDER BY date DESC, id DESC LIMIT 20",$db);
$c=1;
while ($myrow=mysql_fetch_array($result)){
if ($c==1)
printf( "%s %s",$myrow['id'],$myrow['date']);
if ($c==1){
$c=0;
}
$c++;
}
?>
|
помогите пожалуйста что бы сегодняшние даты выводились в виде слова "Сегодня". | |
|
|
|
|
|
|
|
для: korifan
(20.02.2014 в 09:48)
| | а сегодняшних дат, стало быть множество?)) | |
|
|
|
|
|
|
|
для: moonfox
(20.02.2014 в 09:56)
| | нет сегодняшняя дата одна а других много | |
|
|
|
|
|
|
|
для: korifan
(20.02.2014 в 10:00)
| |
if($myrow['date'] == date('d-m-Y', time()) echo 'это уже сегодня!';
|
при условии что строка в БД имеет вид дд-мм-гггг | |
|
|
|
|
|
|
|
для: moonfox
(20.02.2014 в 10:05)
| | при условии что строка в БД имеет вид дд-мм-гггг
это типа шутка? | |
|
|
|
|
|
|
|
для: Valick
(20.02.2014 в 10:17)
| | в каком плане | |
|
|
|
|
|
|
|
для: moonfox
(20.02.2014 в 10:25)
| | в плане того что в БД дата должна быть YYYY-MM-DD | |
|
|
|
|
|
|
|
для: moonfox
(20.02.2014 в 10:05)
| |
<? include ("blocks/db.php");?>
<?
$result = mysql_query("SELECT * FROM date ORDER BY date DESC, id DESC LIMIT 20",$db);
$c=1;
while ($myrow=mysql_fetch_array($result)){
if ($c==1)
printf( "%s %s",$myrow['id'],$myrow['date']);
if($myrow['date'] == date('Y-m-d', time()) echo 'это уже сегодня!';
if ($c==1){
$c=0;
}
$c++;
}
?>
|
так ничего не выходит. | |
|
|
|
|
|
|
|
для: korifan
(20.02.2014 в 10:20)
| | $myrow['date'] что здесь?
вы писали но потерли сообщение, в каком виде данные?? | |
|
|
|
|
|
|
|
для: moonfox
(20.02.2014 в 10:28)
| | В бд date тип date в формате год месяц дата | |
|
|
|
|
|
|
|
для: korifan
(20.02.2014 в 10:40)
| | ясно
удобнее использовать как по мне unixstamp | |
|
|
|
|
|
|
|
для: moonfox
(20.02.2014 в 10:42)
| | и все? | |
|
|
|
|
|
|
|
для: korifan
(20.02.2014 в 10:43)
| | у меня пример работает
смотрите сами что выдает у вас цикл | |
|
|
|
|
|
|
|
для: korifan
(20.02.2014 в 09:48)
| | SELECT id, IF(DATE(`date`) = CURDATE(), 'сегодня', `date`) `date` FROM date ORDER BY date DESC, id DESC LIMIT 20 | |
|
|
|
|
|
|
|
для: Valick
(20.02.2014 в 10:48)
| | это уже вне темы про php
и что выберет? только посты с текущими датами?
решение не соответствует условию. | |
|
|
|
|
|
|
|
для: moonfox
(20.02.2014 в 10:52)
| | и что? я вам больше скажу, там где есть запрос к БД практически все вне темы РНР | |
|
|
|
|
|
|
|
для: Valick
(20.02.2014 в 10:48)
| | Все получилось выдается сегодняшние дата как СЕГОДНЯ а все остальные как и в бд.
ОГРОМНОЕ СПАСИБО!!!
Вот еще бы и вчерашние как "вчерашние" | |
|
|
|
|
|
|
|
для: korifan
(20.02.2014 в 11:03)
| | да без проблем
SELECT id, IF(DATE(`date`) = CURDATE(), 'сегодня', IF(DATE(`date`) = CURDATE()-INTERVAL 1 DAY, 'вчера', `date`)) `date` FROM abc ORDER BY date DESC, id DESC LIMIT 20 | |
|
|
|
|
|
|
|
для: Valick
(20.02.2014 в 11:08)
| | СПАСИБО!!!
Все работает. | |
|
|
|
|
|
|
|
для: korifan
(20.02.2014 в 11:03)
| | я ошибся выбирает все)))
незнаю никогда не работаю с типом данных ДАТА в мускле...
может стоит начать | |
|
|
|
|
|
|
|
для: moonfox
(20.02.2014 в 11:09)
| | Ещё как стоит, в MySQL очень мощная поддержка работы с датами и временем.
В большинстве случаев DATETIME из которорго можно получить и дату и время отдельно и TIMESTAMP (который учитывает часовые пояса)
Тип поля DATE применяется для хранения статических дат например дня рождения. | |
|
|
|
|
|
|
|
для: Valick
(20.02.2014 в 11:19)
| | да по привычке
юникс стамп лежит в поле int
его в смарти передаёшь
а там уже строку в любом виде....)))))))))))))
спасибо за пищу для ума | |
|
|
|