Всем доброго времени суток! Имеется некая таблица, с подобными значениями id-------fid-------filename-------datetime-------size id - INT(15), fid - VARCHAR(32), datetime - DATETIME, size - INT(64) Вот вопрос. На PHP, как мне вывести таблицу в следующем формате: Имя файла | Размер | Скачан раз | Действия Дата (09.11.2012) --------------------- --------------------- --------------------- Дата (10.11.2012) --------------------- --------------------- --------------------- и тд интересует вывод даты.
это понятно. я имею ввиду, что на каждую дату начинается новая строка. т.е. строка с датой, а под ней находится список файлов, загруженных в эту дату
Народ, ну вы лентяи ))) PHP: $date=''; $sql=mysql_query("SELECT * FROM file ORDER BY date"); while ($a=mysql_fetch_assoc($sql)) { if ($date!=date('d.m.Y', strtotime($a['datetime']))) { $date=date('d.m.Y', strtotime($a['datetime'])); echo "Дата (".$date.")\n"; } echo $a['id']."\n"; }
извините меня, наверное я плохо объяснил. Сортировка по дате идет - это понятно. Но столбцов с дадой может быть много. щас сделаю скрин.
Redfern89, тебе же уже привели пример кода, читай мануалы, редактируй, все за тебя врятли кто-то будет писать.. суй еще один цикл который будет группировать по дням
я вот как сделал PHP: <table cellspacing="0" class="filelist" width="100%"> <tbody> <tr> <th class="option"> <input type="checkbox" /> </th> <th class="name">Имя файла</th> <th class="size">Размер</th> <th class="dcount">Скачан</th> <th class="do">Действия</th> </tr> <? include_once "classes.php"; $sql = new MySQL; $sql::Connect(); $hash = $_COOKIE['sid']; $q = "SELECT * FROM `up_files` WHERE hash='$hash' ORDER BY addtime DESC"; $res = mysql_query($q, $link) or die( mysql_error() ); while ( $row = mysql_fetch_assoc($res)) { $fname = $row['filename']; $fs = $row['size']; $date = $row['addtime']; $dcount = $row['downcount']; ?> <tr class="date"><td colspan="5"><? echo $date; ?></td></tr> <tr> <td class="name"><? echo $fname; ?></td> </tr> <? } ?> </tbody> </table> но как, сделать, что бы на каждую новую дату было новая строка, а не на каждую дату была новая строка? и за меня не надо ничего писать, просто подскажите алгоритм от точки до точки
сравнивай дату с предыдущей, если равна ничего не делаешь, а если нет закрываешь строку и начинаешь новую. выводи html разметку из php через echo, тебе так будет удобнее
разобрался простейшим решением: 1й запрос делает группу из дат PHP: $q = "SELECT addtime FROM `up_files` WHERE hash='$hash' GROUP BY addtime DESC"; 2й запрос по каждой из дат выводит файлы PHP: $q = "SELECT * FROM `up_files` WHERE (addtime = '$date' AND hash = '$hash') ORDER BY id DESC"; не знаю, как я идиот раньше не додумался. спасибо Вам парни за помощь, тему можно закрывать)