Помощник
|
Помогите сопоставить дату сервера и событие из базы данных |
werd_34
|
Сообщение
#1
|
||
|
|
||
|
|||
yury_mw |
3.4.2013, 22:53;
Ответить: yury_mw
Сообщение
#2
|
|
werd_34,
для начала исправьте проверку на равенство: так неправильно if($day = $tday and $mount = $tmount){ так правильно if($day == $tday and $mount == $tmount){ если это не поможет, потрассируйте (например, с помощью echo сразу после присваивания), что у вас попадает из БД в переменные $day и $mount и похожи ли эти строки на то, что возвращают date("d") и date("m") $day = $row['day'];
$mount = $row['mount']; $tday = date("d"); $tmount = date("m"); |
|
|
werd_34
|
Сообщение
#3
|
|
Всё перепробовал, проверка на равенство не помогает, из базы по условию ничего не выводит
|
|
|
isvetlichniy |
4.4.2013, 0:50;
Ответить: isvetlichniy
Сообщение
#4
|
|
из базы по условию ничего не выводит а ничего и не выведет $res = mysql_query("SELECT * FROM `history` WHERE `id` = '{$id}'"); ты здесь используешь переменную $id, но не присваиваешь ей никакого значения |
|
|
werd_34
|
Сообщение
#5
|
|
Спасибо за корректировку действий, начальный этап получился. Подскажите, как подсчитать сколько лет прошло от события. "Сегодня 240 лет со дня основания..."
В какую сторону думать? $tday = date("d.m");
$res = mysql_query("SELECT * FROM `history` WHERE `day` = '{$tday}'"); $row = mysql_fetch_assoc($res); $day = $row['day']; $event = $row['event']; if($day == $tday ){ echo $event; } else echo 'Событий нет!'; |
|
|
yury_mw |
4.4.2013, 9:49;
Ответить: yury_mw
Сообщение
#6
|
|
Спасибо за корректировку действий, начальный этап получился. Подскажите, как подсчитать сколько лет прошло от события. "Сегодня 240 лет со дня основания..." В какую сторону думать? Вот тут Расчет сколько лет, зная дату рождения писал похожий пример.<html> <body> <?php //вычисляет сколько лет прошло с заданной даты //формат даты: дд-мм-гггг или дд.мм.гггг или дд/мм/гггг function age($birth_date){ $birth = preg_split ('/[/.-]/', $birth_date); $now = getdate(); $age = $now['year'] - $birth[2]; if($now['mon'] < $birth[1]) $age--; if($now['mon'] == $birth[1]) if($now['mday'] < $birth[0]) $age--; return $age; } //выводит строку "год"/"года"/"лет" в зависимости от числового значения возраста, например: "22 года" или "45 лет" function s_years($age){ $age = abs($age); $t1 = $age % 10; $t2 = $age % 100; return ($t1 == 1 && $t2 != 11 ? "год" : ($t1 >= 2 && $t1 <= 4 && ($t2 < 10 || $t2 >= 20) ? "года" : "лет")); } $s_bdate = "25.08.1530"; $age = age($s_bdate); echo "Если бы Иван Грозный, родившийся $s_bdate, не умер, то сейчас ему было бы $age " . s_years($age); $s_bdate = "26-08-1828"; $age = age($s_bdate); echo "<br>Лев Толстой родился $s_bdate. Это было $age " . s_years($age) . " назад."; $s_bdate = "13/11/1729"; $age = age($s_bdate); echo "<br>А. В. Суворов — великий русский полководец, не потерпевший ни одного поражения в своей военной карьере, родился $s_bdate. С тех пор прошло $age " . s_years($age); ?> </body> </html> Думайте в эту сторону. |
|
|
isvetlichniy |
4.4.2013, 10:09;
Ответить: isvetlichniy
Сообщение
#7
|
|
вот тебе еще статья по работе с датой
|
|
|
werd_34
|
Сообщение
#8
|
|
Спасибо огромное, yury и isvetlichniy! Ушёл в чтение!!
|
|
|
werd_34
|
Сообщение
#9
|
|
Вот что (СПАСИБО ОГРОМНОЕ yury ) у меня получилось! Даты выводятся, скрипт считает годы.
Но проблема осталась - как вывести на один день насколько событий одновременно и показать события вчера... завтра... $tday = date("d.m");
$res = mysql_query("SELECT * FROM `history` WHERE `day` ='{$tday}' LIMIT 3") or die(mysql_error()); $row = mysql_fetch_assoc($res); $day = $row['day']; $year = $row['year']; $event = $row['event']; //вычисляет сколько лет прошло с заданной даты //формат даты: дд-мм-гггг или дд.мм.гггг или дд/мм/гггг function age($birth_date){ $birth = preg_split ('/[\/.-]/', $birth_date); $now = getdate(); $age = $now['year'] - $birth[2]; if($now['mon'] < $birth[1]) $age--; if($now['mon'] == $birth[1]) if($now['mday'] < $birth[0]) $age--; return $age; } //выводит строку "год"/"года"/"лет" в зависимости от числового значения возраста, например: "22 года" или "45 лет" function s_years($age){ $age = abs($age); $t1 = $age % 10; $t2 = $age % 100; return ($t1 == 1 && $t2 != 11 ? "год" : ($t1 >= 2 && $t1 <= 4 && ($t2 < 10 || $t2 >= 20) ? "года" : "лет")); } if($day == $tday ){ echo $event."<br/>"; $s_bdate = $year; $age = age($s_bdate); echo "Данное событие произошло $s_bdate. Это было $age " . s_years($age) . " назад.<br/>"; } else echo 'Событий нет!'; |
|
|
werd_34
|
Сообщение
#10
|
|
Вывел на один день насколько событий одновременно циклом
if(mysql_num_rows($res) > 0){ while($row = mysql_fetch_assoc($res)){ $count = mysql_num_rows($res); $day = $row['day']; $year = $row['year']; $event = $row['event']; $s_bdate = $year; $age = age($s_bdate); echo "<table><tr><td>".$day. "</td><td>".$event. "</td>"; echo "<td>Данное событие произошло $s_bdate. Это было $age " . s_years($age) . " назад.<br/></td></tr></table>"; } }else echo 'Событий нет!'; Осталось вывести "Вчера...", "Завтра...." Подскажите направление. Спасибо всем. |
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Базы Youtube кейвордов с данными по конкуренции и Volume | 6 | Krok | 1577 | Сегодня, 5:43 автор: Krok |
|
Hyper.hosting - сервера под любые задачи [разрешены dmca, гэмблинг, адалт и пр.] Лучшие сервера по доступной цене |
32 | Hyper_Hosting | 9158 | 15.4.2024, 13:03 автор: Hyper_Hosting |
|
Большие базы Semrush кейвордов по разным тематикам! Много кейвордов с трафиком и без конкуренции! Volume, KD, CPC | 22 | Krok | 6755 | 12.4.2024, 5:17 автор: Krok |
|
Интеграция спортивных данных API. Коэффициенты БК, Live результаты | 15 | yaroslav89 | 6860 | 8.4.2024, 17:17 автор: spoyer_ru |
|
Свежие базы ключевых слов с подсказок гугла! | 125 | Krok | 68523 | 7.4.2024, 4:52 автор: Krok |
Текстовая версия | Сейчас: 23.4.2024, 15:47 |