За последние 24 часа нас посетили 36699 программистов и 1707 роботов. Сейчас ищут 1085 программистов ...

Группировка или типа того

Тема в разделе "MySQL", создана пользователем newnoob, 17 июл 2007.

  1. newnoob

    newnoob Активный пользователь

    С нами с:
    8 авг 2006
    Сообщения:
    151
    Симпатии:
    0
    Вообщем есть такой код:

    PHP:
    1.  
    2.  
    3. case "Calendar":
    4.             $sitemap .= "<url><loc>$homeurl/index.php?name=News</loc><changefreq>$module_update[$title]</changefreq><priority>$module_prioritet[$title]</priority></url>";
    5.             $calendar++;
    6.             $sum++;
    7.             $result2 = $db->sql_query("SELECT sid, time FROM ".$prefix."_stories WHERE sid AND status='1' AND time <= now() GROUP BY `time`");
    8.             while (list($sid, $time) = $db->sql_fetchrow($result2)) {
    9.                 $calendar++;
    10.                 $sum++;
    11.                 if (is_int($sum/50000)) {$new_map = "[50000]";}else{$new_map="";}
    12.                 $lastmod = str_replace(" ", "T", "$time")."+03:00";
    13.                 if (preg_match("|([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})|i", $time, $regs)) {
    14.                     $time = "$regs[3].$regs[2].$regs[1]";
    15.                 }
    16.                 $sitemap .= "<url><loc>$homeurl/news-$time.html</loc><lastmod>$lastmod</lastmod><changefreq>weekly</changefreq><priority>$module_prioritet[$title]</priority></url>$new_map";
    17.             }
    18.             $url .= "<tr class=\"bgcolor1\"><td>Calendar:</td><td align=\"center\">$calendar</td></tr>";
    19.             break;
    20.  
    Сейчас вывод идет такой:

    Как видите ничего заурядного обычная выборка для Google Sitemap, но! Сейчас у меня выводится 1 дата по несколько раз что ни есть гуд, нужно сделать что то типа:

     
  2. decoder

    decoder Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    469
    Симпатии:
    0
    А в чем различие?
     
  3. stas_t

    stas_t Активный пользователь

    С нами с:
    24 апр 2007
    Сообщения:
    500
    Симпатии:
    0
    Адрес:
    Courbevoie, France
    $lastmod и $time у вас из одного источника, что же тут удивляться, что дата одна и та же. вы бы из базы выбирали новости по одной на сутки, у вас и было бы одно вхождение (вместо select sid, time делайте select max(time) ... group by date(time), всё равно sid у вас не используется)