Вообщем есть такой код: PHP: case "Calendar": $sitemap .= "<url><loc>$homeurl/index.php?name=News</loc><changefreq>$module_update[$title]</changefreq><priority>$module_prioritet[$title]</priority></url>"; $calendar++; $sum++; $result2 = $db->sql_query("SELECT sid, time FROM ".$prefix."_stories WHERE sid AND status='1' AND time <= now() GROUP BY `time`"); while (list($sid, $time) = $db->sql_fetchrow($result2)) { $calendar++; $sum++; if (is_int($sum/50000)) {$new_map = "[50000]";}else{$new_map="";} $lastmod = str_replace(" ", "T", "$time")."+03:00"; if (preg_match("|([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})|i", $time, $regs)) { $time = "$regs[3].$regs[2].$regs[1]"; } $sitemap .= "<url><loc>$homeurl/news-$time.html</loc><lastmod>$lastmod</lastmod><changefreq>weekly</changefreq><priority>$module_prioritet[$title]</priority></url>$new_map"; } $url .= "<tr class=\"bgcolor1\"><td>Calendar:</td><td align=\"center\">$calendar</td></tr>"; break; Сейчас вывод идет такой: Как видите ничего заурядного обычная выборка для Google Sitemap, но! Сейчас у меня выводится 1 дата по несколько раз что ни есть гуд, нужно сделать что то типа:
$lastmod и $time у вас из одного источника, что же тут удивляться, что дата одна и та же. вы бы из базы выбирали новости по одной на сутки, у вас и было бы одно вхождение (вместо select sid, time делайте select max(time) ... group by date(time), всё равно sid у вас не используется)