X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Нужна помощь
ZhukV
ZhukV
Topic Starter сообщение 20.11.2010, 20:34; Ответить: ZhukV
Сообщение #1


Доброго времени суток всем.
Имеется три таблицы (news, news_lang, news_images)
Таблицы news and news_lang связаны по полю id.
Вот таки запросом вытаскиваю результат с двух таблиц:
[PHP]
$sql = "SELECT `news`.*, `news_lang`.* " .
"FROM `news`, `news_lang`, `images` " .
"WHERE `news`.`id` = `news_lang`.`id`";
[/PHP]
Как мне добавить еще одну таблицу images но так, что там может быть результат, а может и не быть, также идет проверка по полю `images`.`active`

Много ли ресурсов будут забирать подобные запросы?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 21.11.2010, 20:24; Ответить: Mulder_hb
Сообщение #2


Покажите структуру таблиц и объясните более конкретно, какие записи в дальнейшем нужны скрипту. Нынешний запрос можно записать проще:
[PHP]$sql = "SELECT * FROM `news`, `news_lang`, WHERE `news`.`id` = `news_lang`.`id`";[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SOKOJI
SOKOJI
сообщение 21.11.2010, 21:40; Ответить: SOKOJI
Сообщение #3


(ZhukV @ 20.11.2010, 22:34) *
Доброго времени суток всем.
Имеется три таблицы (news, news_lang, news_images)
Таблицы news and news_lang связаны по полю id.
Вот таки запросом вытаскиваю результат с двух таблиц:
[PHP]
$sql = "SELECT `news`.*, `news_lang`.* " .
"FROM `news`, `news_lang`, `images` " .
"WHERE `news`.`id` = `news_lang`.`id`";
[/PHP]
Как мне добавить еще одну таблицу images но так, что там может быть результат, а может и не быть, также идет проверка по полю `images`.`active`

Много ли ресурсов будут забирать подобные запросы?


Картинки к новостям нужны чтоли? Так структуру таблицы images менять надо - задаешь поле resourse (значения, напр.: news, files и т.д.) - для указания типа ресурса и resourse_id, где собственно id новости, файла и т.п. хранится.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
Topic Starter сообщение 21.11.2010, 21:59; Ответить: ZhukV
Сообщение #4


images
CREATE TABLE IF NOT EXISTS `images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `id_href` int(11) NOT NULL,
  `type` set('news') NOT NULL,
  `href` varchar(50) NOT NULL,
  `id_upload` int(11) NOT NULL,
  `date_upload` int(11) NOT NULL,
  `alt_ru` varchar(200) NOT NULL,
  `alt_ua` varchar(200) NOT NULL,
  `alt_us` varchar(200) NOT NULL,
  `title_ru` varchar(200) NOT NULL,
  `title_ua` varchar(200) NOT NULL,
  `title_us` varchar(200) NOT NULL,
  `active` enum('0','1') NOT NULL DEFAULT '0',
  `sorted` int(2) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2;

news
CREATE TABLE IF NOT EXISTS `news` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `id_add` int(11) NOT NULL,
  `title_href` varchar(200) NOT NULL,
  `view_home` enum('0','1') NOT NULL DEFAULT '1',
  `section` int(2) NOT NULL,
  `comment` set('all','no','admin','moder','user') NOT NULL DEFAULT 'all',
  `why_news` set('our','partner') NOT NULL DEFAULT 'our',
  `date_add` datetime NOT NULL,
  `is_update` enum('0','1') NOT NULL DEFAULT '0',
  `id_update` int(11) NOT NULL,
  `date_update` datetime NOT NULL,
  `why_update` text NOT NULL,
  `is_delete` enum('0','1') NOT NULL DEFAULT '0',
  `id_delete` int(11) NOT NULL,
  `date_delete` datetime NOT NULL,
  `why_delete` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2;

news_lang
CREATE TABLE IF NOT EXISTS `news_lang` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title_ua` varchar(255) NOT NULL,
  `title_ru` varchar(255) NOT NULL,
  `title_us` varchar(255) NOT NULL,
  `title_text_ua` text NOT NULL,
  `title_text_ru` text NOT NULL,
  `title_text_us` text NOT NULL,
  `text_ua` text NOT NULL,
  `text_ru` text NOT NULL,
  `text_us` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2;


Теперь:
news и news_lang связаны между собой при помощи поля id (`news`.`id` = `news_lang`.`id`)
Талица news - все характеристики новости
news_lang - Новость в трех языках
images - таблица с картинками

Вот здесь прикол. Что картинок к новости может быть хоть 100, а нужно вытаскать только одну, active в которой '1'. Ну также, картинки может и не быть!!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 21.11.2010, 22:01; Ответить: Webmaster_hb
Сообщение #5


ZhukV, для того чтобы выбирать данные из таблиц, в которых может и не быть нужного ID
используйте LEFT JOIN
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZhukV
ZhukV
Topic Starter сообщение 22.11.2010, 13:08; Ответить: ZhukV
Сообщение #6


Webmaster, объясните пожалуйста :rolleyes:

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужна ли плоская структура категорий в ИМ?
1 noviktamw 1058 26.3.2024, 21:50
автор: c4p1t4l15t
Открытая тема (нет новых ответов) Требуется помощь по сайту на "ВордПресс"
Закрылся доступ в панель администратора
12 Tia2 1523 25.3.2024, 6:54
автор: Skyworker
Открытая тема (нет новых ответов) требуется помощь с themasoftware (Темапостером)
0 Taylor 566 16.3.2024, 18:41
автор: Taylor
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыСостояние после ампутации - нужна помощь
благотворительный топик
46 vitvirtual 5559 12.3.2024, 21:52
автор: Гиппопотам
Открытая тема (нет новых ответов) Нужна рассылка по емаил базе сео-студий
0 kasey7 622 2.3.2024, 23:13
автор: kasey7


 



RSS Текстовая версия Сейчас: 28.3.2024, 20:32
Дизайн