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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Структура базы данных, помогите составить 
:(
    Опции темы
alligator
Дата 26.4.2007, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Всем привет мало работал с mysql и столкнулся с проблемой при написании движка для сайта , необходимо составить структуру базы данных
под каждый раздел меню , подскажите пожалуйста как лучше сделать структуру.
сайт автомобильной тематики, пока меня интересует как правильно сделать структу для раздела ксеноновых ламп:
на сайте это пока выглядит так
ксенон
ксенон-> авто комплекты (делятся на производителя, температуру нагрева, 3 вида ксенона(ксенон,биксенон,ксенон+галоген))
,к каждому виду есть тип цоколя~ 15 видов, ну соответственно цена)
ксенон-> мото комплекты (для мото примерно также как и для авто отличается только ценами)
ксенон-> для грузовиков (примерно также)
ксенон-> лампы
ксенон-> блоки росжига(делятся на производителя,авто или мото,цена)
ксенон-> крепежи(только вид крепежа и цена)
ксенон-> провода(лучше взглянуть на сайт) http://xenon4you.ru/viewxenon/
Хотелось бы под этот раздел для продукции сделать одну таблицу если это возможно конечно.....
Как мне лучше реализовать данную задачу ?
Я уже замучался  smile 
PM MAIL   Вверх
capitan
Дата 26.4.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



PM MAIL WWW ICQ   Вверх
alligator
Дата 26.4.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Древо видное меню это конечно хорошо , но мне это пока не требуется предложенный материал обязательно прочитаю ,
мне нужно составить таблицу чтобы она подходила для любого типа товара из раздела ксенон`а
PM MAIL   Вверх
Glip
Дата 26.4.2007, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



в принципе наверное возможно и одну таблицу, вопрос в том насколько это будет удобно в дальнейшем сопровождении.
по самой постановке вопроса первый ответ который напрашивается:
http://www.citforum.ru/database/dbguide/index.shtml

если делать одной таблицей, то кроме суммы атрибутов всех деталей будет еще поле тип (или название детали)

но одна таблица мне кажется это просто жуть и вред своей карме smile


--------------------
user posted image
PM MAIL   Вверх
alligator
Дата 26.4.2007, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Тогда наилучшим вариантом наверное будет сделать одну таблицу для:
ксенон-> авто комплекты
ксенон-> мото комплекты
ксенон-> для грузовиков
а для остальных отдельные
PM MAIL   Вверх
MixerMsK
Дата 30.4.2007, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А зачем делать несколько таблиц?Почему не сделать одну таблицу под меню, добавить туда колонку parent(или любую другую по вкусу), в которой будет указываться id вышестоящего пункта(для корневых строк это значение будет равно нулю)?
PM MAIL   Вверх
alligator
Дата 30.4.2007, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Начал делать меню и всетаки столкнулся с проблемкой...:
Код

function Show_Tree($pid,$lvl){/*Рекурсивная ф-я вывода дерева меню*/
$db = &new DB;
global $lvl,$name;
$lvl++;
$SQL="SELECT * FROM blocks WHERE pid=".$pid." AND status='on' ORDER BY id";
$result = $db->query($SQL);
if($db->num_rows($result)>0){/*if1*/
print $pid." - ".$lvl;
$p1 = "
<tr><td width=\"15\"></td>\r\n
<td><img src=\"images/strelka.gif\" width=\"9\" height=\"5\" alt=\"\">&nbsp;&nbsp;\r\n
<a href=\"#\" onClick=\"return overlay(this, 'subcontent".$hidden."')\" class=\"stil\" onmouseover=\"this.style.alink='6b72c3';\" onmouseout=\"this.style.alink=''\"><b>".$name."</b></a>\r\n</td></tr>\r\n";
print $p1;


$hidden=0;
while($row =$db->sql_assoc($result)){
$hidden++;
$id1=$row["id"]; $name = $row["name"];
//$s= ($lvl & 1) ? "1" : "0"; //проверка чет или нечет

$p2 .= '
<tr>
<td width="15"></td>
<td>';
//<DIV id=\"subcontent".$hidden."\" style=\"display:none\">\r\n
$p2 .= "

&nbsp;&nbsp;&nbsp;&nbsp;- <A class=\"stil\" href=\"#\">".$name."</A><BR>\r\n
</DIV>";
$p2 .='</td></tr>';
print $p2;
$p2="";


Show_Tree($id1,$lvl);
$lvl--;

}

$hidden=0;
//print "<br/>";
}/*if1*/
//$db->close();
}



Код

CREATE TABLE `blocks` (
  `id` int(5) unsigned zerofill NOT NULL auto_increment,
  `name` varchar(50) NOT NULL default '',
  `pid` int(5) NOT NULL default '0',
  `status` char(3) NOT NULL default 'on',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=13 ;

-- 
-- Дамп данных таблицы `blocks`
-- 

INSERT INTO `blocks` (`id`, `name`, `pid`, `status`) VALUES 
(00001, 'АВТОЭЛЕКТРИКА', 0, 'on'),
(00002, 'ксенон', 1, 'on'),
(00003, 'ШИНЫ И ДИСКИ', 0, 'on'),
(00004, 'парктроники', 1, 'on'),
(00005, 'сигнализации', 1, 'on'),
(00007, 'АВТОЗВУК', 0, 'on'),
(00008, 'ТЮНИНГ', 0, 'on'),
(00009, 'шины', 3, 'on'),
(00010, 'диски', 3, 'on'),
(00011, 'авто комплекты', 2, 'on'),
(00012, 'мото комплекты', 2, 'on');


Хочу сделать ф-ю универсальной , но вот что-то никак не получается чтобы 2 уровень меню засунуть в скрытый слой....
Где ошибка не могу найти =(


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


 




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


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

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