Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите реализовать 3х уровневый каталог продукции в MySQL + создание из него прайс-листа

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Пишется интернет-магазин бижутерии, помогите пожалуйста правильно реализовать БД!
puzik
Отправлено: 17 Декабря, 2009 - 23:41:51
Post Id



Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2009  
Откуда: Донецк, Украина


Помог: 0 раз(а)




Повторюсь, что собираюсь написать интернет-витрину(магазин в будушем) оптового магазина бижутерии, своему другу пример - http://www.uracn.com!

Каталога товаров в электронном виде у него нет! Товара порядка 500-1000 наименований в писменном виде! База будет 3х уровневая!
Причем все это в таком виде по категориям:
(Категория) (Раздел) (Подраздел) (Наименование)
Бижутерия -> Колье и Ожерелье -> Жемчуг -> 20 товаров
Бижутерия -> Колье и Ожерелье -> Натуральный камень -> 40 товаров
Бижутерия -> Колье и Ожерелье -> Стекло -> 50 товаров

Всего будет для начала: (2 или 3) категории, (31) - раздел, (80) подразделов, 500(наименований)!

Все это мне надо организовать так, что бы весь товар получил свой номер(для дальнейшего извлечения из БД - прайса) что бы люди заказывали по номеру(а не как в магазине дайте 10 крабиков таких и 20 таких)!
+Сделать это все под CMS, что бы он мог удалять или добавлять раздел, подраздел и товар в будущем! Как вы поняли это наверно самый главный этап в разработке у меня сейчас, что бы в дальнейшем избежать ляпов! А?!

Я пока думаю сделать 4ре таблицы(name - это имя на русском):

Категория(catalog_id, catalog_name, name)
Раздел(cat_id, catalog_name, cat_name, name)
Подраздел(sub_id, cat_name, sub_catname, name)
Товар(model_id, sub_catname, model, name)

ПОДСКАЖИТЕ, ПОЖАЛУЙСТА, НАСКОЛЬКО ЭТО БУДЕТ ПРАВИЛЬНО, И БУДЕТ ЛИ ВООБЩЕ? ИЛИ ПРИ СОЗДАНИИ ТАКИХ САЙТОВ ЛЮДИ ПОЛЬЗУЮТСЯ ДРУГОЙ СИСТЕМОЙ СОЗДАНИЯ БД?
ЗАРАНЕЕ СПАСИБО БОЛЬШОЕ ЗА ОТВЕТ!!!!!!!!!!!!!!!!!!!
(Добавление)
Так же у каждого товара обязательно должен быть индекс, он должен совпадать с изображением товара, для его вывода на страницу(мне так будет легче, так как всех картинок нет и они будут заполнятся со временем)

И еще второстепенный вопрос, например в таблице будет 500 наименований, им auto_increment"ом присвоится значения от 1 до 500! Как я писал выше из этой БД с этими цифрами я хочу экспортировать таблицу(прайс), как csv!

Вопрос вот в чем: auto_increment только цифры проставляет, а как бы мне создать маркировку каждого товара(auto_increment с буквами)? Например:
Бижутерия -> Колье и Ожерелье -> Жемчуг -> 20 товаров
B010105 - здесь В - это Бижутерия 01 - Колье и ожерелье -01 - Жемчуг и 05 - 5й товар!

Скажем вывести это на страницу в PHP - легко, но в БД то оно ни как не будет индефицироваться(ЕСЛИ Я КОНЕЧНО НЕ ЭКПОРТИРУЮ ВСЮ БД ЗАТОЧУ ВСЕ КАК ПРАЙСЫ И ЭКСПОРТИРУЮ ОБРАТНО, А ПРИ ДОБАВЛЕНИИ НОВОГО ТОВАРА БУДУ ОПРЕДЕЛЯТЬ ЧТО К ЧЕМУ ПРИНАДЛЕЖИТ И ДОБАВЛЯТЬ СООТВЕТСТВУЮЩИЙ ИДЕНТИФИКАРОТ ТОВАРА) Огорчение

Что то много вопросов я назадовал, извиняюсь и еще раз зарание спасибо боьшое, за помощь!!!
 
 Top
RomAndry Администратор
Отправлено: 18 Декабря, 2009 - 01:06:12
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


Помог: 6 раз(а)




возможно обойтись и одной таблицей
id
pid
name
Где pid это родительский ID
примерно так
id pid name
1 0 Бижутерия
2 1 Колье и Ожерелье
3 2 Жемчуг
4 3 20 товаров
....
25 2 Натуральный камень
26 25 40 товаров
.....
67 2 Стекло
68 67 50 товаров
....
и работать с так называемым деревом NESTED SETS
 
My status
 Top
puzik
Отправлено: 18 Декабря, 2009 - 18:28:04
Post Id



Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2009  
Откуда: Донецк, Украина


Помог: 0 раз(а)




Извиняюсь немножечко не понял!
Мне надо что бы человек потом из сайта удалял или добавлял товар в каталоге/разделе/подразделе! Для реализации этого мне надо что бы у каждого раздела и подраздела был свой один номер, а так получается у каждого подраздела свой и раздела свой номер!
Или я неправильно понял!
И что такое NESTED SETS? Где я могу прочитать про них!

И еще мне же надо будет в таблице сделать колонку с русскими именами для вывода на сайт, как в вашем случае быть?

Я суть вашей таблици чуть чуть только что уловил, но не доконца! Как потом ыводить все по категориям? Делается меню на наподобии сайта www[dot]uracn[dot]com

Обьясните новичку пожалуста поподробней!
 
 Top
puzik
Отправлено: 19 Декабря, 2009 - 18:13:44
Post Id



Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2009  
Откуда: Донецк, Украина


Помог: 0 раз(а)




Ну же знатоки PHP и гуру MySQL помогите нубу пожалуйста! И где можно почитать примеры по написанию интернет-магазинов! Свой первый я писал, по книге Лауры Томпсон! Еще хороший пример Максим Кузнецов! Но те ине5т-магазины, которые в основном в интернете построены немного по другой по другой схеме!
Например, у меня одна страница - каталог.php из нее перехожу на показать_товары_каталога.php из нее на показать_конкретный_товар.hph
Но так мне приходится делать функции конкретно для каждого раздела для каждых каталогов и для страниц разные! То есть отдельно функции показать каталог компьютеров и отдельно показать каталог ноутбуков! Это не очень эргономично! Подскажите может быть ссылки на учебники где хорошие магазины для большого кол-ва товаров!
 
 Top
RomAndry Администратор
Отправлено: 19 Декабря, 2009 - 20:19:15
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 913
Дата рег-ции: Янв. 2008  


Помог: 6 раз(а)




puzik пишет:
Извиняюсь немножечко не понял!
Мне надо что бы человек потом из сайта удалял или добавлял товар в каталоге/разделе/подразделе! Для реализации этого мне надо что бы у каждого раздела и подраздела был свой один номер, а так получается у каждого подраздела свой и раздела свой номер!
Или я неправильно понял!

Да, правильно, у каждого товара или раздела есть свой ID, он уникальный и по нему можно делать все операции.
puzik пишет:

И что такое NESTED SETS? Где я могу прочитать про них!

NESTED SETS
puzik пишет:
И еще мне же надо будет в таблице сделать колонку с русскими именами для вывода на сайт, как в вашем случае быть?

Не вижу проблем, добавив поле в таблицу базы данных
puzik пишет:

Я суть вашей таблици чуть чуть только что уловил, но не доконца! Как потом ыводить все по категориям? Делается меню на наподобии сайта www[dot]uracn[dot]com

Обьясните новичку пожалуста поподробней!

ссылку я вам дал выше, там же есть и пример.
Начав конкретно что-то делать, появятся проблемы и вопросы... вот на них с удовольствием ответим Подмигивание
 
My status
 Top
puzik
Отправлено: 19 Декабря, 2009 - 23:47:46
Post Id



Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2009  
Откуда: Донецк, Украина


Помог: 0 раз(а)




Большое спасибо, за советы! Сейчас буду читать о NESTED SET! А то базу уже пора разрабатывать, а я еще не начал! Буду очень рад если потом задам конкретные вопросы в этой теме а вы ответите!

Вообще огромное спасибо этому порталу и форуму и модератором и просто посетителям! Не знаю что бы делал без вашей помощи! Улыбка
 
 Top
puzik
Отправлено: 20 Декабря, 2009 - 02:22:06
Post Id



Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Дек. 2009  
Откуда: Донецк, Украина


Помог: 0 раз(а)




Не успел поблагодарить как тут же, после прочтения целой стопки матерьяла в интернете по nested sets возник следующий очень важный вопрос:

Как я понял следует само дерево с каталогами и подкаталогами и их id хранить в одной таблице а сами товары в другой, где будет хранится id первой как было написано выше? и сравниваться по этому id? Или следует хранить и товар и дерево в одной таблицце? тогда наверно нереально будет добавлять по одному или 5ть товаров в середину таблицы, после ее построения.
Информации в инете очень много, но вся она уже для проф. php'шников, для новичков только построение БД! А самой реализации вывода товара например, добавления его по одному, какие иденттификаторы передавать в ссылках например, написано мало! С этим ладно придется разбиратся самому, а вот сделать 2 таблици с деревом и с товаром или одну хотелось бы узнать? А спрашиваю так же потому что я та уже не сделаю методом к примеру foreach показать все каталоги бижутерии, потом все под каталоги колье и ожерелье, и потом все разделы колье и ожерелье? Или просто создать побольше таблицу как в примере в статье к которой вы ссылку дали? Что то мысли путаться начали, пойду посплю лучше а завтра еще раз перечитаю!
Я заметил на форуме нет подобных тем? Неужели люди которые сталкиваются с этим в первый раз сразу все понимают и пишут такие здоровенные каталоги?

(Отредактировано автором: 20 Декабря, 2009 - 02:40:32)

 
 Top
valenok
Отправлено: 20 Декабря, 2009 - 08:44:33
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Я дуюмаони просто начинают с чего-то маленького. Спрос на этот конкретный материал мал.
--
Что значит вставить в середину таблицы ? Всатвишь в конец таблицы новые строки и все будет замечательно. Что мешает сделать всё одной таблицей я тоже не очень понял )


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB