-Музыка

 -Поиск по дневнику

Поиск сообщений в _DOOMer_

 -Сообщества

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 19.10.2005
Записей:
Комментариев:
Написано: 14375

кусок кода

Дневник

Вторник, 06 Июня 2006 г. 00:30 + в цитатник
вчера часа два убил на то чтобы написать один скрипт, выводящий из БД список встречающихся в датах месяцев и годов.. Т.е надо было выводить нечто следующее:

Январь 2006
Декабрь 2005
Ноябрь 2005
....
Март 2003
Февраль 2003

А оно выводиться отказывалось в нужном виде. Ковыряния в коде ни к чему не привели и я начал эксперементировать с SQL-запросом. В итоге после 3 минут листания книги был соствален зследующий запрос:
code:

SELECT DISTINCT(YEAR(`news_date`))as y, MONTH(`news_date`) as m FROM `table` ORDER BY y DESC, m DESC"



Сам же PHP-код получился таким (наиболее простой вариант, без всяких оптимизаций и проверок доступа к БД):

PHP:

// connect to DB
mysql_connect('localhost''root','');
mysql_selectdb('my_base');

// пишем SQL-запрос
$sql="SELECT DISTINCT(YEAR(`news_date`))as y, MONTH(`news_date`) as m  FROM `table` ORDER BY y DESC, m DESC";
// исполняем запрос
$res=mysql_query($sql);

// массив с названиями месяцев
$month_arr=array('''Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь''Декабрь');

// обработка  строк результата
// каждая строка содержит год и номер месяца
while (list($y,$m)=mysql_fetch_array($res)) 

{
                
// подставляем номер месяца в качестве номера элемента массива
                // и выводим на экран
    
echo $y." - ".$month_arr[$m]."";
}




LI 5.09.15
Рубрики:  Программерские будни

Метки:  

 Страницы: [1]