Есть таблица - календарь матчей. Есть поле date в формате datetime. Нужно сделать выборку всех записей, где date = 30.08.2011. PHP: <?php $day = mysql_query ("SELECT *, DATE_FORMAT(date,'%d.%m.%Y %H:%i') AS date_t FROM `calendar` WHERE ???????? ORDER BY `date` ASC",$db) or die (mysql_error()); ?> Дело в том, что в поле date дата хранится так: 2011-08-30 16:15:00 - дата и время начала матча. Как мне сделать выборку за определенную дату и потом в цикле вывести матчи по времени: 30 августа 2011 16:15 Россия - Тунис 16:30 Россия - Зимбабве Подскажите алгоритм.
[sql] SELECT *, DATE_FORMAT(date,'%d.%m.%Y %H:%i') AS date_t FROM `calendar` WHERE `date` BETWEEN '2011-08-30 00:00:00' AND '2011-08-30 23:59:59' ORDER BY `date` [/sql]
Блин ребята это двиг какой-то ? уже не первая тема с использованием данного вида дат. где вы такую реализацию берёте ?
Да нормально, я тоже MySQL DATE и DATETIME часто использую Когда приходится периодически руками в базе копаться (например, так как нет времени написать норм. админку или какие запросы попросят специфические, выгрузки там) - удобнее когда дата выглядит как дата, а не как циферки непонятные
А еще такой вопрос: Делаю выборку матчей на сегодня так: PHP: <?php $date1 = date ("Y-m-d 00-00-00"); $date2 = date ("Y-m-d 23-59-59"); $day = mysql_query (" SELECT *, DATE_FORMAT(date,'%d.%m.%Y %H:%i') AS date_t FROM `calendar` WHERE `date` BETWEEN '$date1' AND '$date2' ORDER BY `date` ASC ",$db) or die (mysql_error()); if (isset($day)) { echo "Сегодня матчей не запланировано"; } else { while ($day1 = mysql_fetch_array ($day)) { $team1 = $day1['id_team1']; $team2 = $day1['id_team2']; $team1 = mysql_query (" SELECT id,team FROM `team` WHERE `id`='$team1' ",$db) or die (mysql_error()); $team1 = mysql_fetch_array ($team1); $team2 = mysql_query (" SELECT id,team FROM `team` WHERE `id`='$team2' ",$db) or die (mysql_error()); $team2 = mysql_fetch_array ($team2); ?> А подскажите как мне продолжить поиск по БД записей, если на сегодня нет матчей, то искать ближайший день и за него делать выборку?
PHP: <?php //... $day = mysql_query (" SELECT *, DATE_FORMAT(date,'%d.%m.%Y %H:%i') AS date_t FROM `calendar` WHERE `date` BETWEEN '$date1' AND '$date2' ORDER BY `date` ASC ",$db) or die (mysql_error()); if (isset($day)) { echo "Сегодня матчей не запланировано"; } else Чё за хрень? $day всегда будет isset, даже если запрос вернул 0 или вообще с ошибкой.