Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с выборкой данных
 
 автор: Spyder   (23.03.2007 в 14:47)   письмо автору
 
 

Всем привет!
Есть 2 таблицы
1. Бренды
id_br
name
descr
style

2. Стили
id_st
name
descr

Дак вот в бренде может сущ несколько стилей (style)
Т.е в бренде - > столбец style хранится id- номера Стилей вот так выглядит строка (1:4:24:)
Как мне выбрать стили которые записаны в табл бренды из таблицы Стили, чтоб узнать какие стили есть у бренда?

   
 
 автор: Trianon   (23.03.2007 в 15:50)   письмо автору
 
   для: Spyder   (23.03.2007 в 14:47)
 

эта строка в одной ячейке?
Так данные не хранят.
Если у Вас стиль может соответствовать только одному бренду - переносить поле связи в таблицу стилей. Если нескольким - заводите отдельную связующую таблицу.

   
 
 автор: Spyder   (23.03.2007 в 20:45)   письмо автору
 
   для: Trianon   (23.03.2007 в 15:50)
 

Да.
У бренда может быть несколько стилей.
>Если нескольким - заводите отдельную связующую таблицу.
Можно подробнее или пример связующей таблицы?

   
 
 автор: Trianon   (23.03.2007 в 21:30)   письмо автору
 
   для: Spyder   (23.03.2007 в 20:45)
 

Таблица link(id_link, id_brand, id_style)
первое поле - автоинкрементный первичный ключ, второе и третье указывают идентификаторы бренда и стиля соответственно.
В таблице столько записей, сколько есть различных соответствий между брендом и стилем.

   
 
 автор: Spyder   (25.03.2007 в 14:36)   письмо автору
 
   для: Trianon   (23.03.2007 в 21:30)
 

Ясно.
А как тогда добавлять новый бренд?
Т.е делать запись в таблицу линк.
Как будет выглядить запрос на добавление записей брендов, если из selecta передается массив стилей style[], т.е несколько?

   
 
 автор: Trianon   (25.03.2007 в 17:25)   письмо автору
 
   для: Spyder   (25.03.2007 в 14:36)
 

Как-то так:
<?
$brand 
intval($_POST['brand']);
$sql "INSERT INTO link (id_brand, id_style) VALUES";
$sep ' '
foreach (
$_POST['style'] as $style
{
    
$sql .= "$sep($brand," intval($style) . ')';
    
$sep ',';
}
mysql_query($sql);

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования