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

Форум PHP

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

 

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

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

тема: Поменять дату
 
 автор: korifan   (20.02.2014 в 09:48)   письмо автору
 
 

Есть бд 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++;
}
?>


помогите пожалуйста что бы сегодняшние даты выводились в виде слова "Сегодня".

  Ответить  
 
 автор: moonfox   (20.02.2014 в 09:56)   письмо автору
 
   для: korifan   (20.02.2014 в 09:48)
 

а сегодняшних дат, стало быть множество?))

  Ответить  
 
 автор: korifan   (20.02.2014 в 10:00)   письмо автору
 
   для: moonfox   (20.02.2014 в 09:56)
 

нет сегодняшняя дата одна а других много

  Ответить  
 
 автор: moonfox   (20.02.2014 в 10:05)   письмо автору
 
   для: korifan   (20.02.2014 в 10:00)
 

if($myrow['date'] == date('d-m-Y', time()) echo 'это уже сегодня!';

при условии что строка в БД имеет вид дд-мм-гггг

  Ответить  
 
 автор: Valick   (20.02.2014 в 10:17)   письмо автору
 
   для: moonfox   (20.02.2014 в 10:05)
 

при условии что строка в БД имеет вид дд-мм-гггг
это типа шутка?

  Ответить  
 
 автор: moonfox   (20.02.2014 в 10:25)   письмо автору
 
   для: Valick   (20.02.2014 в 10:17)
 

в каком плане

  Ответить  
 
 автор: Valick   (20.02.2014 в 11:02)   письмо автору
 
   для: moonfox   (20.02.2014 в 10:25)
 

в плане того что в БД дата должна быть YYYY-MM-DD

  Ответить  
 
 автор: korifan   (20.02.2014 в 10:20)   письмо автору
 
   для: 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++;
}
?>


так ничего не выходит.

  Ответить  
 
 автор: moonfox   (20.02.2014 в 10:28)   письмо автору
 
   для: korifan   (20.02.2014 в 10:20)
 

$myrow['date'] что здесь?
вы писали но потерли сообщение, в каком виде данные??

  Ответить  
 
 автор: korifan   (20.02.2014 в 10:40)   письмо автору
 
   для: moonfox   (20.02.2014 в 10:28)
 

В бд date тип date в формате год месяц дата

  Ответить  
 
 автор: moonfox   (20.02.2014 в 10:42)   письмо автору
 
   для: korifan   (20.02.2014 в 10:40)
 

ясно
удобнее использовать как по мне unixstamp

  Ответить  
 
 автор: korifan   (20.02.2014 в 10:43)   письмо автору
 
   для: moonfox   (20.02.2014 в 10:42)
 

и все?

  Ответить  
 
 автор: moonfox   (20.02.2014 в 10:48)   письмо автору
 
   для: korifan   (20.02.2014 в 10:43)
 

у меня пример работает
смотрите сами что выдает у вас цикл

  Ответить  
 
 автор: Valick   (20.02.2014 в 10:48)   письмо автору
 
   для: korifan   (20.02.2014 в 09:48)
 

SELECT id, IF(DATE(`date`) = CURDATE(), 'сегодня', `date`) `date` FROM date ORDER BY date DESC, id DESC LIMIT 20

  Ответить  
 
 автор: moonfox   (20.02.2014 в 10:52)   письмо автору
 
   для: Valick   (20.02.2014 в 10:48)
 

это уже вне темы про php
и что выберет? только посты с текущими датами?
решение не соответствует условию.

  Ответить  
 
 автор: Valick   (20.02.2014 в 11:04)   письмо автору
 
   для: moonfox   (20.02.2014 в 10:52)
 

и что? я вам больше скажу, там где есть запрос к БД практически все вне темы РНР

  Ответить  
 
 автор: korifan   (20.02.2014 в 11:03)   письмо автору
 
   для: Valick   (20.02.2014 в 10:48)
 

Все получилось выдается сегодняшние дата как СЕГОДНЯ а все остальные как и в бд.
ОГРОМНОЕ СПАСИБО!!!
Вот еще бы и вчерашние как "вчерашние"

  Ответить  
 
 автор: Valick   (20.02.2014 в 11:08)   письмо автору
 
   для: 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

  Ответить  
 
 автор: korifan   (20.02.2014 в 11:16)   письмо автору
 
   для: Valick   (20.02.2014 в 11:08)
 

СПАСИБО!!!
Все работает.

  Ответить  
 
 автор: moonfox   (20.02.2014 в 11:09)   письмо автору
 
   для: korifan   (20.02.2014 в 11:03)
 

я ошибся выбирает все)))
незнаю никогда не работаю с типом данных ДАТА в мускле...
может стоит начать

  Ответить  
 
 автор: Valick   (20.02.2014 в 11:19)   письмо автору
 
   для: moonfox   (20.02.2014 в 11:09)
 

Ещё как стоит, в MySQL очень мощная поддержка работы с датами и временем.
В большинстве случаев DATETIME из которорго можно получить и дату и время отдельно и TIMESTAMP (который учитывает часовые пояса)
Тип поля DATE применяется для хранения статических дат например дня рождения.

  Ответить  
 
 автор: moonfox   (20.02.2014 в 11:24)   письмо автору
 
   для: Valick   (20.02.2014 в 11:19)
 

да по привычке
юникс стамп лежит в поле int
его в смарти передаёшь
а там уже строку в любом виде....)))))))))))))

спасибо за пищу для ума

  Ответить  
Rambler's Top100
вверх

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