Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Трудности создания каталога на ПХП  (Прочитано 12922 раз)
0 Пользователей и 1 Гость смотрят эту тему.
AlMcDin
Гость
« : 21-01-2005 11:03 » 

Во-первых, поздравляю всех с прошедшими праздниками.
Во-вторых приношу свои соболезнования по поводу начала рабочих будней.

К делу.
При разработке каталога возникла следующая проблема:

Католог Абсолютно разной продукции (по секрету - радиоэлектроника), и требуется где-то хранить описание и технические характеристики (Самое простое было бы все хранить в поле МЕМО, но для прайса требуется отдельно вытаскивать некоторые данные).
Каталогов (рубрик) >10, и в каждом по 5-10 наименований. К тому же некоторые из них, с подрубриками.
Как сделать навигацию???
На сайте одной из комп. фирм я усмотрел такой вариант: catalog.php?id=$id&pid=$pid...
Но как тогда сделать подуровни и уникальный $pid?
И следующая проблема: В данный момент, все продукты, с первичным (коротким) описанием, хранятся в таблице 'Products', => необходимо где-то хранить технические характеристики! Для этого создавать под каждую рубрику таблицу технических характеристих?! И как в таком случае сделать между ними связь ('Prod' и техн.хар)?
А как нужно правильно?!
« Последнее редактирование: 15-12-2007 18:46 от Алексей1153++ » Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #1 : 21-01-2005 11:14 » 

Хмм, да вроде всё просто, если я правильно понял задачу.
По таблице(id=$id&pid=$pid)
допустим что id - это корневой каталог, тогда pid у него всегда будет 0
А если у основного каталога есть подкаталог тогда pid у него буде id родительского каталога
Например :
Main1
---->SubMain1
Main2
---->SubMain1
Main3
---->SubMain1
---->SubMain2

в базе будет выглядеть как :
id     pid     name
1       0      Main1
2       0      Main2
3       0      Main3
4       1      SubMain1
5       2      SubMain1
6       3      SubMain1
7       3      SubMain1
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
AlMcDin
Гость
« Ответ #2 : 21-01-2005 11:24 » 

Это решает ТОЛЬКО проблему подкатологов.
А какие сделать таблицы для технических характеристик?

'Products' такая:

ID    PID    Name    Description

Правильно?
« Последнее редактирование: 15-12-2007 18:47 от Алексей1153++ » Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #3 : 21-01-2005 11:34 » 

Это решает ТОЛЬКО проблему подкатологов.
А какие сделать таблицы для технических характеристик?

'Products' такая:

ID PID Name Description

Правильно?
В таблице где ID и PID можно создать сколько угодно полей необходимых для описания чеголибо
« Последнее редактирование: 15-12-2007 18:47 от Алексей1153++ » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
AlMcDin
Гость
« Ответ #4 : 21-01-2005 11:40 » 

А как делать выборку, какие поля отбражать? (Не все же нужны) Их  ведь там будет тогда >70...
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #5 : 23-01-2005 13:38 » 

А как делать выборку, какие поля отбражать? (Не все же нужны) Их ведь там будет тогда >70...
Да как угодно Улыбаюсь Указывать при выборке только те поля которые нужны и всё Улыбаюсь
Например :
Код:
SELECT id, pid, name, pole1, pole2, pole3 FROM table_name
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
AlMcDin
Гость
« Ответ #6 : 24-01-2005 05:19 » 

Тогда получается для каждой категории необходимо создавать отдельный файл, в котором выборка с теми полями, которые нужны. Тогда вообще теряется смысл создавать поля в одной таблице. С таким же успехом можно создавать отдельную таблицу под отдельную категорию... ;(
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #7 : 24-01-2005 06:23 » 

Зачем отдельный файл Не понял
Один скрипт, который будет выбирать из базы данных только то что нужно, руководствуясь передаными параметрами ID и PID.
Например ссылка такая : http://www.server.ru/getdata.php?id=4&pid=5 , а в скрипте один запрос вида :
Код:
<?php
$sql 
"SELECT * FROM products WHERE id=&#39;".$_GET[&#39;id&#39;]."&#39; AND pid = &#39;".$_GET[&#39;pid&#39;]."&#39;";
$res mysql_query($sql);
if(!
$res) { die(mysql_error()); } else { /*обрабатываем полученые данные*/ }
?>

« Последнее редактирование: 15-12-2007 18:48 от Алексей1153++ » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
AlMcDin
Гость
« Ответ #8 : 24-01-2005 11:08 » 

Тогда где хранить инфу о тех яйчейках, которые должны быть выведены?
Да как угодно  Указывать при выборке только те поля которые нужны и всё
Например :
Код:
SELECT id, pid, name, pole1, pole2, pole3 FROM table_name
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #9 : 24-01-2005 11:56 » 

Тогда где хранить инфу о тех яйчейках, которые должны быть выведены?

Да нигде не хранить. Всё уже есть в базе. Выводите то что нужно и всё. Можно конечно добавить кучу параметров в строку УРЛ, но это не выход. В любом случае программист знает структуру и названия полей в таблице. Позле запроса в базу обработать полученые данные и выводить то что нужно. Например :
Код:
<?php
$sql 
"SELECT * FROM products WHERE id=&#39;".$_GET[&#39;id&#39;]."&#39; AND pid = &#39;".$_GET[&#39;pid&#39;]."&#39;";
$res mysql_query($sql);
if(!
$res) { die(mysql_error()); } else { 
    
/*обрабатываем полученые данные*/
    
while($row mysql_fetch_array($res))
    {
         print 
"{$row[&#39;pole1&#39;]}";
         
print "{$row[&#39;pole2&#39;]}";
         /*и так далее в зависимоти от количества нужных полей*/
    
} 
}
?>


Никак я не пойму в чём проблема ? В написании кода на ПХП ?
« Последнее редактирование: 15-12-2007 18:49 от Алексей1153++ » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
AlMcDin
Гость
« Ответ #10 : 24-01-2005 16:51 » 

Нет проблема не в этом.
Я, наверное, не могу толком её объяснить.

Проблема вовсе не в написании кода.
У нас есть таблица с 50 полями.
Есть 20 категорий приборов. (Для каждой категории необходимо выводить технические характеристики)
Для каждой категории должны выводится не все поля, а только какие-то 7-10. Т.Е. впринципе, технические характеристики приборов разные, поэтому и поля для них созданы отдельные. Получается 2 варианта:
1. Либо обробатывать id каждый раз при обработке pid и выводить названия технических характеристик соответственно полям. Тогда возникает вопрос, а нужно ли хранить все поля в одной таблице, если приходится обрабатывать все 20 (а потом возможно и более) категорий вручную. Тогда вообще теряется вся прелесть динамических возможностей ПХП.
2. Хранить данные (Название, описание, id и т.д.) в одной таблице, а технические хар-ки в отдельной таблице, своей для каждой категории. Возникает проблема - Как связать эти 20 таблиц с хар-ками с главной? Хранить название таблицы в поле главной или как?

Прошу прощения что сразу четко не сформулировал проблему. Жаль
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines