[MySQL] Вывод даты

Discussion in 'PHP' started by Redfern89, 11 Nov 2012.

  1. Redfern89

    Redfern89 New Member

    Joined:
    12 Jul 2012
    Messages:
    42
    Likes Received:
    1
    Reputations:
    -3
    Всем доброго времени суток! Имеется некая таблица, с подобными значениями

    id-------fid-------filename-------datetime-------size

    id - INT(15), fid - VARCHAR(32), datetime - DATETIME, size - INT(64)

    Вот вопрос. На PHP, как мне вывести таблицу в следующем формате:

    Имя файла | Размер | Скачан раз | Действия
    Дата (09.11.2012)
    ---------------------
    ---------------------
    ---------------------
    Дата (10.11.2012)
    ---------------------
    ---------------------
    ---------------------

    и тд

    интересует вывод даты.
     
    #1 Redfern89, 11 Nov 2012
    Last edited: 11 Nov 2012
  2. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    PHP:
    echo date('d.m.Y'strtotime($sql['datetime']));
     
    _________________________
  3. Redfern89

    Redfern89 New Member

    Joined:
    12 Jul 2012
    Messages:
    42
    Likes Received:
    1
    Reputations:
    -3
    это понятно. я имею ввиду, что на каждую дату начинается новая строка.
    т.е. строка с датой, а под ней находится список файлов, загруженных в эту дату
     
  4. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    Народ, ну вы лентяи )))
    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";
    }
     
    _________________________
  5. Redfern89

    Redfern89 New Member

    Joined:
    12 Jul 2012
    Messages:
    42
    Likes Received:
    1
    Reputations:
    -3
    извините меня, наверное я плохо объяснил. Сортировка по дате идет - это понятно. Но столбцов с дадой может быть много. щас сделаю скрин.

    [​IMG]
     
  6. Prosta4ok

    Prosta4ok New Member

    Joined:
    25 Oct 2012
    Messages:
    61
    Likes Received:
    0
    Reputations:
    0
    Redfern89, тебе же уже привели пример кода, читай мануалы, редактируй, все за тебя врятли кто-то будет писать..
    суй еще один цикл который будет группировать по дням
     
  7. Redfern89

    Redfern89 New Member

    Joined:
    12 Jul 2012
    Messages:
    42
    Likes Received:
    1
    Reputations:
    -3
    я вот как сделал
    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>
    но как, сделать, что бы на каждую новую дату было новая строка, а не на каждую дату была новая строка? и за меня не надо ничего писать, просто подскажите алгоритм от точки до точки
     
  8. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    Redfern89, в моём посте выше есть решение.
     
    _________________________
  9. Prosta4ok

    Prosta4ok New Member

    Joined:
    25 Oct 2012
    Messages:
    61
    Likes Received:
    0
    Reputations:
    0
    сравнивай дату с предыдущей, если равна ничего не делаешь, а если нет закрываешь строку и начинаешь новую.
    выводи html разметку из php через echo, тебе так будет удобнее
     
  10. Redfern89

    Redfern89 New Member

    Joined:
    12 Jul 2012
    Messages:
    42
    Likes Received:
    1
    Reputations:
    -3
    разобрался простейшим решением:

    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";
    не знаю, как я идиот раньше не додумался. спасибо Вам парни за помощь, тему можно закрывать)
     
    #10 Redfern89, 11 Nov 2012
    Last edited: 11 Nov 2012
Loading...
Similar Threads - MySQL Вывод даты
  1. GAiN
    Replies:
    3
    Views:
    7,259