[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск на бд.
webmaster
Вообщем решил разориться на 50 рублей и купить себе хостинг с бд(мои предыдущие попытки сделать поиск - http://www.old.phpforum.ru/viewtopic.php?id=1826). Проблема вот в чем: на сайте будут данные разного типа и для каждого из них(типов) нужна своя таблица со своей структурой. Но мне хотелось бы сделать и поиск по отдельным частям сайта и по сайту вообщем. Ну по отдельным разделам сайта поиск организовать не сложно а все вместе - он должен искать одновремено по всем таблицам! У меня была только одна идея - создать одну общею таблицу котороя будет копией сразу всех остальных, но тогда данных будет в 2 раза больше! Может есть более простые способы? Заранее спасибо.



Спустя 4 дня, 13 часов, 46 минут, 33 секунды (1.02.2007 - 12:31) levis написал(а):
Тогда при апгрейде,нада апрегеживать и эту общую таблицу,лучше все таблицы в цикл

Спустя 3 дня, 8 часов, 29 минут, 12 секунд (4.02.2007 - 21:00) Alexander K написал(а):
Если я правильно понял, то можно получить массив наименований таблиц и уже с ним работать при поиске.

Спустя 28 минут, 59 секунд (4.02.2007 - 21:29) Alexander K написал(а):
Кстати, а почему для разных типов данных не использовать одну таблицу? Например, есть магазин и есть разные категории товаров, мотоциклы, диски, мясо. У каждошо типа товара есть свое описание. У мотоциклов свои характеристики, у дисков свои, а у мяса тоже другие.

category - id, name - таблица категорий
opisanie - id, category, name - таблица описаний для каждой категории.
opisanie_val - id, opisanie, value - таблица значений описаний для каждой позиции товара.
tovar - id, opisanie_val, name, price - таблица товара.

И когда Выбирается к.л. категория, выводится список товара этой категории. При выводе товара определенной категории также выводится описание этого товара, принадлежащего данной категории.
Как-то так :)

Спустя 20 минут, 36 секунд (4.02.2007 - 21:50) Timok написал(а):
Цитата(Alexander K)
И когда Выбирается к.л. категория, выводится список товара этой категории. При выводе товара определенной категории также выводится описание этого товара, принадлежащего данной категории.
Как-то так smile.gif

именно так и надо. Это называется "нормальная форма"
Если идёт деление только на разделы (т.е. нет никаких подразделов), то достаточно 2-х таблиц, примерно так:
Разделы:
- part_id - уникальный ID раздела (PK)
- part_name - название раздела

Страницы:
- page_id - ID страницы (PK)
- part_id - ID раздела, к которой принадлежит страница (FK)
- page_name и др. аттрибуты для описания страницы

Спустя 4 минуты, 36 секунд (4.02.2007 - 21:55) Alexander K написал(а):
Timok, круто, что ты ссылку на теорию форм привел. Давно хотел найти, да все некогда было. спасибо.

Спустя 16 минут, 45 секунд (4.02.2007 - 22:11) levis написал(а):
а ты подумал как это замедлит работу?

Спустя 12 минут, 34 секунды (4.02.2007 - 22:24) Alexander K написал(а):
что именно замедлит-то? и как?

Спустя 55 минут, 21 секунда (4.02.2007 - 23:19) Timok написал(а):
levis, попобдробнее пожалуйста - как сокращение общего размера базы может снизить быстродействие? Из-за обращения к нескольким таблицам?

Спустя 46 минут, 9 секунд (5.02.2007 - 00:05) levis написал(а):
я как понял тут предлагалось хранить разные данные в 1 таблице,всвязи с чем-это замедлит работу,как к примеру обьеденив таблицу пользватели и топиками

user1-pass1-class_user
title1-text1-class_topic
title2-text2-class_topic
user2-pass2-class_user

ну и так далее...
и соответственно в скрипте придеться прописывать AND class='class[x]';

Спустя 39 минут, 54 секунды (5.02.2007 - 00:45) Timok написал(а):
Цитата(levis)
я как понял тут предлагалось хранить разные данные в 1 таблице,всвязи с чем-это замедлит работу,как к примеру обьеденив таблицу пользватели и топиками
объединять пользователей с топиками - это какое-то извращение. Другое дело, что каждый топик имеет своего автора и для того чтобы его определить, достаточно в таблице этих топиков сделать поле id_автора (и определять имя этого автора по соотв. таблице)
прочитай, пожалуйста, несколько постов выше :)

Цитата(webmaster)
Проблема вот в чем: на сайте будут данные разного типа

что значит разного типа? Приведи примеры, плз.

Спустя 9 часов, 23 минуты, 48 секунд (5.02.2007 - 10:09) Alexander K написал(а):
Имелось ввиду, что данные в одной таблице будут схожи по смыслу. Интересно, кто будет делать поиск на сайте по таблице с паролями?

Спустя 3 дня, 7 часов, 8 минут, 5 секунд (8.02.2007 - 17:17) lenich написал(а):
Скачай готовый скрипт поиска да и все.

Спустя 4 дня, 4 часа, 15 минут, 51 секунда (12.02.2007 - 21:33) xaleva написал(а):
Здраствуйте,я пока новичок в рнр.Вот создал проект один,решил загруить пока на бесплатный хостинг,все посоветовали на Agava,я загрузил,но там не могу создать таблицу как не крути.Пробовал и вручную(сначало получалось,но потом чтот не выходит)пробовал и через phpmyadmin,но там тож не получается.Может какой нибудь другой хостинг?

Спустя 2 минуты, 34 секунды (12.02.2007 - 21:36) vasa_c написал(а):
может

Спустя 9 минут, 50 секунд (12.02.2007 - 21:45) Patrick написал(а):
Цитата(xaleva @ 12.2.2007, 21:33) [snapback]12964[/snapback]

Здраствуйте,я пока новичок в рнр.Вот создал проект один,решил загруить пока на бесплатный хостинг,все посоветовали на Agava,я загрузил,но там не могу создать таблицу как не крути.Пробовал и вручную(сначало получалось,но потом чтот не выходит)пробовал и через phpmyadmin,но там тож не получается.Может какой нибудь другой хостинг?

да, платный! и не парся.....

Спустя 7 дней, 23 часа, 41 минута, 34 секунды (20.02.2007 - 21:27) xaleva написал(а):
как узнать тип столбца

Спустя 13 минут, 36 секунд (20.02.2007 - 21:41) vasa_c написал(а):
Как-то мы резко перешли от одного вопроса к другому. Причем понять оба не так уж и просто.


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.