Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TV-программа, вопрос к профессионалам 
:(
    Опции темы
yalo
Дата 31.10.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 24.5.2006

Репутация: нет
Всего: 2



Хочу совета от профессионалов, как запрограммировать в общих чертах и построить БД для моего случая. Есть сайт. На этом сайте будет вывешиваться программа на неделю для разных каналов в виде:
Канал 1   День недели (если не выбран специально, то текущий), число.
                06.00 какая-нибудь передача
                06.30 Х/ф
                ...
                04.30 передача


Канал 2   День недели (если не выбран специально, то текущий), число.
                06.10 какая-нибудь передача
                06.40 Х/ф
                ...
                02.30 погода и т.п.
...

Сверху программы что-то вроде календаря с днями недели, дни недели - ссылки, текущий день - не ссылка, щелкая на нужный пользователю день программа заменяется на программу щелкнутого дня в том же виде как указано выше.

Администратор сайта будет принимать файл с программой в таком виде:

ПОНЕДЕЛЬНИК, 17.07.2006.
ПРИМА
06.00 Х/ф "КАК СКАЗАЛ ДЖИМ".
06.40 М/ф "У страха глаза велики".
06.55 М/ф "Смешарики".
07.00 33 квадратных метра.
07.30, 18.30, 23.00 Х/ф "МОЯ ПРЕКРАСНАЯ НЯНЯ".
08.00, 20.00 Х/ф "НЕ РОДИСЬ КРАСИВОЙ".
09.00, 19.30 Детали.
09.30, 18.00 Х/ф "КТО В ДОМЕ ХОЗЯИН?"
10.00 Х/ф "ЛЮБОВНИЦА".
12.00 Х/ф "ТАЛИСМАН ЛЮБВИ".
13.00 Х/ф "НОВАЯ СЕМЕЙКА АДДАМС".
13.30 М/ф "Экскалибур".
14.00 М/ф "Смешарики".
14.05 М/ф "Принцесса Сисси".
14.30 М/ф "Самурай Икс".
15.00 М/ф "Лига Справедливости".
15.30 М/ф "Люди Икс. Эволюция".
16.00 Х/ф "ЛИЗЗИ МАГУАЙЕР".
16.30 Х/ф "ШКОЛА "ЧЕРНАЯ ДЫРА".
17.00 Х/ф "ЗАЧАРОВАННЫЕ".
19.00, 23.30 Новости.
21.00 Х/ф "ОТЧАЯННЫЕ ДОМОХОЗЯЙКИ".
00.00 Х/ф "ЧАСТИ ТЕЛА".
01.00 Х/ф "VERITAS. В ПОИСКАХ ИСТИНЫ".
01.45 Х/ф "МАЯТНИК".
03.15 Х/ф "ТЕСНАЯ КОМПАНИЯ".
03.35 Х/ф "ДЕТЕКТИВНОЕ АГЕНТСТВО "ЛУННЫЙ СВЕТ".
05.10 Музыка на канале.

ВТОРНИК, 18.07.2006.
ПРИМА
06.00 Х/ф "КАК СКАЗАЛ ДЖИМ".
06.40 М/ф "Машенькин концерт".
06.55 М/ф "Смешарики".
07.00, 19.00, 23.30 Новости.
07.30, 18.30, 23.00 Х/ф "МОЯ ПРЕКРАСНАЯ НЯНЯ".
08.00, 20.00 Х/ф "НЕ РОДИСЬ КРАСИВОЙ".
09.00, 19.30 Детали.
09.30, 18.00 Х/ф "КТО В ДОМЕ ХОЗЯИН?"
10.00 Х/ф "ЛЮБОВНИЦА".
11.45 М/ф "Ну, погоди!"
12.00 Х/ф "ТАЛИСМАН ЛЮБВИ".
13.00 Х/ф "НОВАЯ СЕМЕЙКА АДДАМС".
13.30 Хит-парад мобильных мелодий.
13.45 Мультфильмы.
14.00 М/ф "Смешарики".
14.05 М/ф "Принцесса Сисси".
14.30 М/ф "Самурай Икс".
15.00 М/ф "Лига Справедливости".
15.30 М/ф "Люди Икс. Эволюция".
16.00 Х/ф "ЛИЗЗИ МАГУАЙЕР".
16.30 Х/ф "ШКОЛА "ЧЕРНАЯ ДЫРА".
17.00 Х/ф "ЗАЧАРОВАННЫЕ".
21.00 Х/ф "ОТЧАЯННЫЕ ДОМОХОЗЯЙКИ".
00.00 Х/ф "ЧАСТИ ТЕЛА".
01.00 Х/ф "VERITAS. В ПОИСКАХ ИСТИНЫ".
01.50 Х/ф "ИСТОРИЯ СОЛДАТА".
03.25 Х/ф "ТЕСНАЯ КОМПАНИЯ".
03.45 Х/ф "ТАКСИСТ".
05.20 Музыка на канале.

...

ВОСКРЕСЕНЬЕ, 23.07.2006.
ПРИМА
06.00 Х/ф "АЛИСА В ЗАЗЕРКАЛЬЕ".
07.25 М/ф "Золотая антилопа".
07.55 М/ф "Пиноккио".
08.20 М/ф "Смешарики".
08.30 "Улица Сезам".
09.00 М/ф "Гаджет и Гаджетины".
09.30 Х/ф "ДЕТИ НА ОСТРОВЕ СОКРОВИЩ. БИТВА".
11.30 "Детали".
12.00 Жизнь прекрасна.
14.00 Снимите это немедленно.
15.00 Д/ф ВВС. "Мифы и герои. Ясон и золотое руно".
16.00 Адрич - новый формат.
16.30 Х/ф "МОЯ ПРЕКРАСНАЯ НЯНЯ".
17.00 Х/ф "ДАША ВАСИЛЬЕВА. ЛЮБИТЕЛЬНИЦА ЧАСТНОГО СЫСКА".
21.00 Х/ф "ЗАКОНЫ ПРИВЛЕКАТЕЛЬНОСТИ".
22.45 Х/ф "ИСТОРИЯ С ОЖЕРЕЛЬЕМ".
01.15 Х/Ф "ПОРТНОЙ ИЗ ПАНАМЫ".
03.05 Х/Ф "ПОРТРЕТ ВАМПИРА"
04.30 Д/ф ВВС. "Неандерталец".
05.20 Музыка на канале.


На каждый канал - по отдельному файлу.
Вообще начала делать так. Поля в соответствующей таблице tvprog  в БД сделала следующие `channel` , `day1` , `day2` , `day3` , `day4` , `day5` , `day6` , `day7` , `ord`

Администратор получая файл разрывает его на массив через split("\r\n\r\n", $str_from_file) и вставляет в бд в поля `day1` , `day2` , `day3` , `day4` , `day5` , `day6` , `day7`, в `channel` вставляю канал, который вытащила из нулевого (хотя можно из любого судя по файлу) элемента массива через split("\r\n", $day[0]) .  В `ord` будет записываться и, если нужно - изменяться администратором, порядок следования каналов в программе. В общем такое начало. Потихоньку делаю дальше, но грызут сомнения, вдруг есть более оптимальный вариант как построить бд, как раздроблять файлы с программами и вообще..
Разумеется, я не прошу код, это нелепо, а просто в общих чертах построение алгоритма, словесных набросков, может БД как-то оптимальней придумать... 
И еще -  TV-программу достаточно хранить только на текущую неделю, а как только администратор загружает новый файл, поля в бд обновляются по нужному каналу... 
Очень хочется услышать мнение и советы от профессионалов

Это сообщение отредактировал(а) yalo - 31.10.2006, 17:18
PM MAIL ICQ   Вверх
SelenIT
Дата 1.11.2006, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 9
Всего: 401



yalo, как правило лучше разные сущности хранить раздельно, одинаковые и очень похожие - вместе. Каждую единицу одной сущности желательно хранить в отдельной ячейке. На эту тему есть целая теория - нормализация БД.

В данном случае есть 2 сущности - каналы и передачи. Их лучше хранить в разных таблицах.

Каналы (tvprog_channels): channel_id (INT, PRIMARY KEY, AUTO_INCREMENT), name (VARCHAR(50) - должно хватить), ord (INT)
Передачи (tvprog_items): channel_id (INT), item (VARCHAR(255)), starttime (DATETIME).

Такая структура будет очень гибкой - она никак не ограничивает ни период хранения, ни количество каналов. Нет путаницы между передачами на текущую и прошлую неделю - они различаются полем starttime.

А вот примеры запросов к такой базе:
- что идет в данный момент по каналу "ПРИМА": 
Код

SELECT i.item FROM tvprog_items AS i
INNER JOIN tvprog_channels AS с ON i.channel_id = c.channel_id
WHERE c.name = 'ПРИМА' AND i.starttime < NOW()
ORDER BY i.starttime DESC LIMIT 1

- когда и по каким каналам на этой неделе еще будут передачи, в названии которых есть слово "Икс":
Код

SELECT i.item, c.name, DATE_FORMAT(i.starttime, "%W, %H.%i") FROM tvprog_items AS i
INNER JOIN tvprog_channels AS с ON i.channel_id = c.channel_id
WHERE i.starttime > NOW() AND WEEK(i.starttime, 1) = WEEK(NOW(), 1) AND i.name LIKE '%Икс%'
ORDER BY i.starttime

Неужели не удобно?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
yalo
Дата 1.11.2006, 05:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 24.5.2006

Репутация: нет
Всего: 2



Пребольшое спасибо!!! По-моему оч удобно, как и подозревала - действительно существует более здравое решение smile 


Это сообщение отредактировал(а) yalo - 1.11.2006, 06:02
PM MAIL ICQ   Вверх
CyClon
Дата 1.11.2006, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Я думаю, что базу организовать так:

Для каждого канала - своя таблица...
Каждая ячейка таблицы - определенный день...
Вытягивает, например, программу для первого канала на 01.01.2007

Код
"SELECT `info` FROM `1ch` WHERE `date`='01.01.2007'"


Где `info` - поле типа 

Цитата
07.25 М/ф "Золотая антилопа".|07.55 М/ф "Пиноккио".|08.20 М/ф "Смешарики".


Потом explode, сформировать данные и закешировать в файл (Чтобы каждый раз не делать explode и не обращаться к базе)... Ну, а там уже дело техники.

Добавлено @ 14:53 
Вариант SelenIT тоже, очень удобный smile


--------------------
user posted image
PM   Вверх
yalo
Дата 2.11.2006, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 24.5.2006

Репутация: нет
Всего: 2



Вообще были мысли сделать для каждого канала свою таблицу, но откинула по следующим соображениям (возможно ошибочным? и интересно знать верны были мои предположения или нет..).
Во-первых, каналов может быть много и они могут нарастать, мне показалось, что плодить таблицы в базе до неизвестного числа не оч целесообразно... возможно ошибаюсь..?
Затем на день будут выводиться все каналы сразу, получается нужно обращаться к каждой таблице для каждого канала поочереди (помимо того, что придется также весь список каналов еще вытаскивать, т.к. надо знать к каким таблицам-каналам обращаться, каналы ведь могут все появляться и появляться и об их пополнении будем узнавать из того самого текстового файла, из его второй строки:
ПОНЕДЕЛЬНИК, 17.07.2006.
ПРИМА
06.00 Х/ф "КАК СКАЗАЛ ДЖИМ".
06.40 М/ф "У страха глаза велики". )
Не скажется ли на скорости такое поочередное обращение к большому количеству каналов-таблиц? На данный момент каналов на сайте будет уже 10 штук, и они могут увеличиваться, т.е. уже 10 таблиц только для каналов, 11 обращений для вывода как минимум...

Предложение SelenIT  мне действительно оч понравилось, уже пишу так, как он посоветовал и пока не нарадуюсь, но все же интересно было бы узнать - верны ли мои возражения CyClon'у или нет? и если нет, то почему smile 

Это сообщение отредактировал(а) yalo - 2.11.2006, 08:51
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 2.11.2006, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



Цитата(CyClon @  1.11.2006,  14:50 Найти цитируемый пост)
Для каждого канала - своя таблица...
Каждая ячейка таблицы - определенный день...

Бред!  smile 
Цитата(CyClon @  1.11.2006,  14:50 Найти цитируемый пост)
Потом explode, сформировать данные 

Еще бредовей бред smile
Цитата(yalo @  2.11.2006,  08:44 Найти цитируемый пост)
верны ли мои возражения CyClon'у или нет? 

Верны.
SelenIT, предложил действительно оптимальный вариант.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
yalo
Дата 2.11.2006, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 24.5.2006

Репутация: нет
Всего: 2



Всем спасибо!smile
PM MAIL ICQ   Вверх
ТРЕТЬ
Дата 2.11.2006, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 8.1.2006
Где: mind's gloomy corner

Репутация: нет
Всего: 1



немного запоздало, но все-таки предложу свой вариант...

Создаем столько таблиц, сколько каналов и даем им одноименные названия (всмысле как канал называется, так и таблица, чтобы потом не думать какая таблица к чему относится)
В каждой таблице 2 столбца - 
в первом день недели и число (месяц, год и т.д.)... Тип ячеек - char (20)
во втором - время передачи и её название... Тип - char (200)

В итоге таблица заполняется чем-то вроде 
Date | Prog
ВТОРНИК, 18.07.2006 | 06.00 Х/ф "КАК СКАЗАЛ ДЖИМ".
ВТОРНИК, 18.07.2006 | 06.40 М/ф "Машенькин концерт".
ВТОРНИК, 18.07.2006 | 06.55 М/ф "Смешарики".
ВТОРНИК, 18.07.2006 | 07.00, 19.00, 23.30 Новости.
ВТОРНИК, 18.07.2006 | 07.30, 18.30, 23.00 Х/ф "МОЯ ПРЕКРАСНАЯ НЯНЯ".
....
ВОСКРЕСЕНЬЕ, 23.07.2006 | 06.00 Х/ф "АЛИСА В ЗАЗЕРКАЛЬЕ".
ВОСКРЕСЕНЬЕ, 23.07.2006 | 07.25 М/ф "Золотая антилопа".
ВОСКРЕСЕНЬЕ, 23.07.2006 | 07.55 М/ф "Пиноккио".
ВОСКРЕСЕНЬЕ, 23.07.2006 | 08.20 М/ф "Смешарики".
ВОСКРЕСЕНЬЕ, 23.07.2006 | 08.30 "Улица Сезам".
....


А потом делаем выборку по точному совпадению даты (главное определиться какой формат хочешь использовать, и используй его везде таким)... Например 
Код

SELECT `prog` FROM `prima` WHERE `date` = `ВОСКРЕСЕНЬЕ, 23.07.2006`;


Еще, пожалуй, стоит создать таблицу со списком каналов - она заодно станет соединяющей таблицей... Вроде, должно получиться просто и сердито...
PM MAIL WWW ICQ   Вверх
SelenIT
Дата 2.11.2006, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 9
Всего: 401



ТРЕТЬ, по-моему то, что Вы предложили, извините, просто ужас:
  • однотипные данные хранятся в разных местах - чтобы найти, по какому каналу идет конкретная передача, придется делать кучу запросов или извращаться с UNION;
  • разнородные данные хранятся в общей куче - чтобы отделить передачу от ее времени, понадобятся дополнительные телодвижения в скрипте;
  • названия каналов в качестве имен таблиц - очень плохая идея, в "сыром" виде они могут содержать негодные символы и т.п., а если их, как в Вашем примере, транслитерировать - потом станет не так-то просто
    Цитата
    думать какая таблица к чему относится

    И вообще названия каналов - это данные, имена таблиц - это служебная информация, смешивать их негоже.
  • абсолютно не по назначению используются типы полей (фиксированная строка - и для данных переменной длины, и для даты) - это и непростительный перерасход дискового пространства, и невозможность по-человечески использовать индексы => тормоза на ровном месте;
  • огромная избыточность - в поле Date хранится куча одинаковых и по большому счету почти бесполезных строк.
Настоятельно рекомендую СРОЧНО обратиться к литературе по нормализации и вообще по теории баз данных, чтобы не попадать в глупое положение с подобными советами либо последствиями их реализации...

Это сообщение отредактировал(а) SelenIT - 2.11.2006, 19:33


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
yalo
Дата 3.11.2006, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 24.5.2006

Репутация: нет
Всего: 2



SelenIT, я использую твой первоначальный совет как организовать БД, предложения подобные предложениям ТРЕТЬ и CyClon'а откинула сразу, т.к. самые первые мысли были похожи на их предложения, но интуитивно поняла, что так нельзя.. Я к чему - хотелось бы не только интуитивно понимать многие вещи 
Цитата(SelenIT @  2.11.2006,  19:32 Найти цитируемый пост)
Настоятельно рекомендую СРОЧНО обратиться к литературе по нормализации и вообще по теории баз данных, чтобы не попадать в глупое положение с подобными советами либо последствиями их реализации...

ты не мог бы посоветовать такую литературу, лучше, конечно, электронный вариант, но если что, то рассматриваю и покупку через инет (ждать просто не хочется), т.к. по большей части наталкиваюсь на обычную документацию, в которой нахожу команды SQL и т.п. вещи, а вот теория БД не попадаласьsmile
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 3.11.2006, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 17
Всего: 69



Нормализация реляционных баз данных

Это сообщение отредактировал(а) -=Ustas=- - 3.11.2006, 11:07


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
ТРЕТЬ
Дата 3.11.2006, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 8.1.2006
Где: mind's gloomy corner

Репутация: нет
Всего: 1



SelenIT, просто я видимо что-то пропустил... Я думал, вся функцианальная часть - вывод программы на выбранный день... Т.е. не надо отделать передачу от её времени и тому подобное... Насчет даты кстати согласен, можно было ей тип даты присвоить...

ЗЫ, все равно я лол пока что=))
PM MAIL WWW ICQ   Вверх
SelenIT
Дата 3.11.2006, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 9
Всего: 401



ТРЕТЬ, 
Цитата(ТРЕТЬ @  3.11.2006,  17:45 Найти цитируемый пост)
Я думал, вся функцианальная часть - вывод программы на выбранный день... Т.е. не надо отделать передачу от её времени...

Если бы было так, зачем вообще БД, почему бы напрямую не воспользоваться текстовым файлом? ;)
Да и для вывода удобнее держать их по раздельности - например, для вывода в HTML-таблицу или просто с разным оформлением...



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
CyClon
Дата 6.11.2006, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



На счет моего варианта, хз, скорее я не прав, т.к. с базой работал относительно мало на практике, но все-таки увеличение числа таблиц вляет только на то "что их много". Таблиц будет много, но они будут мальенькими, в отличие одной, но большой таблицы.


--------------------
user posted image
PM   Вверх
yalo
Дата 7.11.2006, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 24.5.2006

Репутация: нет
Всего: 2



У меня с запросами к построенной базе возникают проблемы:
при запросах типа
Код

SELECT i.item FROM gz_tvprog_items AS i
INNER JOIN gz_tvprog_channels AS с ON i.channel_id = c.channel_id
WHERE c.name = 'ПРИМА' AND i.starttime < NOW()
ORDER BY i.starttime DESC LIMIT 1

и 
Код

SELECT i.item, c.name, DATE_FORMAT(i.starttime, "%W, %H.%i") FROM gz_tvprog_items AS i
INNER JOIN gz_tvprog_channels AS с ON i.channel_id = c.channel_id
WHERE i.starttime > NOW() AND WEEK(i.starttime, 1) = WEEK(NOW(), 1) AND i.name LIKE '%Икс%'
ORDER BY i.starttime
 (взятые запросы есть образцы SelenIT)
sql выдает ошибку типа Unknown table 'c' in field list 
когда ухожу от сокращений sql приходит к ошибке типа 
Unknown column 'gz_tvprog_items.starttime' in 'where clause'
Даже при составлении простого запроса
Код

 SELECT * FROM `gz_tvprog_items` WHERE `starttime` < NOW( ) LIMIT 0 , 30 

sql все равно выдает ошибку #1054 - Unknown column 'starttime' in 'where clause' 
В общем ему не нравится та колонка starttime:(
у меня вся таблица вплоть до названий постороена по предложению SelenIT, за исключением того, что для собственных нужд к названиям таблиц добавлен префикс gz_

И еще. Обрабатываемый файл с программой превращается в результате различных манипуляций в строки, записывающиеся в базу таким образом:
 channel_id   |  item   |   starttime
3       |   Новости.  |   2006-07-18 19:00:00


Это сообщение отредактировал(а) yalo - 7.11.2006, 10:33
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.1181 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.