ФорумПрограммированиеPHP для идиотов → Правильный вывод из БД

Правильный вывод из БД

  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 2 октября 2007 г. 7:13, спустя 9 минут 39 секунд

    всё, решил?
    все умрут, а я изумруд
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 2 октября 2007 г. 7:26, спустя 12 минут 39 секунд

    Гм…хотя к чему пришел…

    Нет…не врублюсь как массив сделать…

    Получается так и все…

    (
    [2007] => Array
    (
    [0] => Новость 1
    )

    [2008] => Array
    (
    [0] => Новость 1
    )

    )


    Т.е у 2007-го 2-е новости

    [2007] => Array
    (
    [0] => Новость 1
    [1] => Новость 3
    )
  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 2 октября 2007 г. 7:41, спустя 15 минут 11 секунд

    SELECT DISTINCT YEAR(`date`) AS `year`
    FROM `news`

    потом

    while ()
    {
    $year = $row['year'];
    . ..
    SELECT `id`, `…`
    FROM `news`
    WHERE YEAR(`date`)=$year

    while ()
    {
    //вот они новости этого года

    }

    }


    ИЛИ как говорит AlexB:

    SELECT `id`, `..`, YEAR('date') AS `year`
    FROM `news`
    ORDER BY `date` ASC

    $year = '';
    while ()
    {
    if ($row['year'] != $year)
    {
    // новый год!
    print $year;
    }
    // выводим новость
    }
    все умрут, а я изумруд
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 2 октября 2007 г. 7:53, спустя 11 минут 57 секунд

    YEAR('date')

    че это значит?Обязательно так прописать?

    нельзя так?

    SELECT DISTINCT `date`AS `year` FROM `news`
  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 2 октября 2007 г. 7:56, спустя 3 минуты 5 секунд

    в каком формате дата?
    все умрут, а я изумруд
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 2 октября 2007 г. 12:44, спустя 4 часа 48 минут 5 секунд

    SELECT `id`, `..`, YEAR('date') AS `year`
    FROM `news`
    ORDER BY `date` ASC

    $year = '';
    while ()
    {
    if ($row['year'] != $year)
    {
    // новый год!
    print $year;
    }
    // выводим новость
    }


    if(!$db->query("SELECT `id`,`date`,`date` AS `year` FROM `projects` ORDER BY `date` ASC"))
    {
    die($db->error());
    }
    $year = '';
    while ($row = $db->fetchAssoc())
    {

    if ($row['year'] != $year)
    {
    print $row[&#39;year&#39;].&#39;<br />&#39;;
    }
    print $row[&#39;id&#39;].&#39;<br />&#39;;
    }


    Получается так…

    2007
    1
    2007
    3
    2008
    2

    Что не правильно…
  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 2 октября 2007 г. 20:53, спустя 8 часов 8 минут 43 секунды

    $year = $row[&#39;year&#39;];
    куда вставить догадайся
    все умрут, а я изумруд
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 2 октября 2007 г. 22:18, спустя 1 час 25 минут 27 секунд

    Понял
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 3 октября 2007 г. 6:02, спустя 7 часов 44 минуты 5 секунд

    Я опять с вопросом…

    Вывод у меня не тупо

    $year = &#39;&#39;;
    while ($row = $db->fetchAssoc())
    {
    if ($row[&#39;year&#39;] != $year)
    {
    $year = $row[&#39;year&#39;];
    print $row[&#39;year&#39;].&#39;<br />&#39;;
    }

    //выводим текст

    }


    А такого вида должен быть -

    2007

    Новость 1
    __________ //&lt;hr>

    Новость 2
    __________

    Новость 3

    Т.е попробывал что то слепить с implode так ерунда получилась…

    Так делал…
    $r[] = $row[&#39;id&#39;];
    $imp = implode(&#39;<hr>&#39;,$r);
    print $imp;


    Глупость…

    Может есть более хитрый способ?

  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 3 октября 2007 г. 6:39, спустя 36 минут 30 секунд

    какие у нас варианты ответа?
    все умрут, а я изумруд
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 6 октября 2007 г. 7:17, спустя 3 дня 38 минут

    Подскажет кто?Я уже #[email protected]#@лся
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 17 октября 2007 г. 4:39, спустя 10 дней 21 час 22 минуты

    Эй…я так проблему и не решил…так и не кто не знает? =(
  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 17 октября 2007 г. 5:31, спустя 51 минуту 54 секунды

    собственно в чем проблема?
    впадлу читать прошлые посты
    все умрут, а я изумруд
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 18 октября 2007 г. 0:10, спустя 18 часов 38 минут 44 секунды

    Сообщение после сообщения
    Понял

    вот там мой вопрос
  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 18 октября 2007 г. 0:28, спустя 18 минут 38 секунд

    какой нах имплойд?
    дай свой код текущий
    все умрут, а я изумруд

Пожалуйста, авторизуйтесь, чтобы написать комментарий!