Прямо из-за того, что в прошлый раз не получился правильный ответ, я переформулирую это.
Я хочу создать страницу, на которой отображаются все приборы из 'tbl_fixtures'.
id - compname - home_user - home_team - away_user - away_team - date
Это настройка таблицы. Столбец даты - это метка времени. Я хочу показать все приборы в блоках на основе столбца даты.
Будут блоки из 10 светильников с одинаковой меткой времени. Я хочу показать это вот так...
Fixture 1 - (временная метка в читаемом формате) Затем все 10 светильников....
Светильник 2 - (метка времени) Затем 10 светильников...
и т.д.
Пока все светильники не сгруппированы по метке времени.
Как я могу это сделать?
Если вы хотите "группировать" их по неделям, вы можете использовать функцию WEEK()
. Лучше всего было бы упорядочить строки по метке времени и распечатать новый заголовок недели, если неделя изменится:
$result = $mysql_query("SELECT WEEK(timestamp) as week, * FROM myTable ORDER BY timestamp");
$current_week = null;
while ($row = mysql_fetch_assoc($result)) {
if ($row["week"] != $current_week) {
$current_week = $row["week"];
echo 'Week ' . $current_week .': ';
}
echo $row["timestamp"];
// echo other fields
}
Я попытаюсь прочитать ваш разум и предложить использовать DATE_FORMAT:
SELECT DATE_FORMAT(`add_dt`, '%u') AS `d`, `field1`, `field2`
FROM `table1`
ORDER BY `d`
Где% u - номер недели (ref).