[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не могу решить
dimonise
помогите с таким вопросом - есть таблица с наименованием товара и его характеристиками. у каждого товара характеристики разные. на сайте присутствует сравнение товара. как сделать так чтобы выводились названия только существующих характеристик для конкретного товара.то есть чтобы пустые ячейки не выводились. пробовал разбить таблицу на две - в одной название товара, картинка и цена (что у всех есть), а во второй только характеристики - не могу додуматься как сделать связь. в общем полный тупик. помогите.



Спустя 23 минуты, 13 секунд (20.09.2009 - 15:32) SunSet написал(а):
dimonise
ВЫставляешь значение в таблице для строки с характеристиками "Ноль - NULL", по умолчанию - NULL.
И в выводе нужных тебе характеристик (кроме пустых) выводишь:

SQL
SELECT * FROM your_table WHERE `ХАРАКТЕРИСТИКИ` NOT NULL;


Спустя 15 минут, 35 секунд (20.09.2009 - 15:48) dimonise написал(а):
колонок с характеристиками больше 20. что ж мне для каждой писать?!

Спустя 4 минуты, 17 секунд (20.09.2009 - 15:52) SunSet написал(а):
dimonise
Нет, ты в настройки этой строки зайди и там установи по умолчанию. При добавлении нового товара поле ХАРАКТЕРИСТИКИ будет изначально принимать значение NULL. А эти что уже есть то прийдется вручную исправить.

Спустя 3 минуты, 43 секунды (20.09.2009 - 15:56) dimonise написал(а):
ага. значит делаю следующее - имеем 2 таблицы 1 табла с товаром и характеристиками, 2 табла с названиями этих самых характеристик по русски (для шапки таблицы) в первой таблице выставляю всем характеристикам NOT NULL и потом сравниваю. Если поле все таки NULL тогда не выводить название характеристики из второй таблы. Но как тогда связать первую и вторую таблу?

Спустя 6 минут, 3 секунды (20.09.2009 - 16:02) SunSet написал(а):
dimonise
Зачем тебе две таблицы? Одну делаешь, вот по такому виду:

id | tovar | img | cena | chtoto | harakteristiki с типами полей INT, INT(VARCHAR),VARCHAR,INT,VARCHAR,VARCHAR(или TEXT, По умолчанию - значение NULL).


И этим запросом выводишь все товары, в которых не пустые характеристики. Так ведь нужно?
SQL
SELECT * FROM your_table WHERE `harakteristiki ` NOT NULL;

Спустя 6 минут, 38 секунд (20.09.2009 - 16:09) sergeiss написал(а):
SunSet - здесь нужны 2 таблицы! Потому что в одной будет прописано название товара, а во второй - его характеристики. Количество которых может быть любым.
Если же ты всё сделаешь в одной таблице, то как минимум название товара у тебя будет дублироваться в каждой строке определенного типа товара. А зачем лишняя информация? И вообще - это будет неправильный подход.
А 2 таблицы потом связать через ДЖОЙН - плёвое дело smile.gif

Спустя 2 минуты, 16 секунд (20.09.2009 - 16:11) dimonise написал(а):
да это понятно! как вывести САМИ характеристики не проблема! Мне нужно вывести НАЗВАНИЯ характеристик! Ведь в базе названия столбиков по аглицки, а мне нужно сделать вот так:


Характеристики| Товар |
наименование | колбаса |
цена | 100 |
состояние | свежая |

то есть нужно выводить (или не выводить) элементы первой колонки

Спустя 2 минуты, 9 секунд (20.09.2009 - 16:13) dimonise написал(а):
поподробнее с JOIN пожалуйста!

Спустя 3 минуты (20.09.2009 - 16:16) SunSet написал(а):
sergeiss
Ктото не так сказал, а ктото не так понял rolleyes.gif


dimonise
Запутали вы меня))

Спустя 1 минута, 44 секунды (20.09.2009 - 16:18) dimonise написал(а):
чем?

Спустя 2 часа, 30 минут, 55 секунд (20.09.2009 - 18:49) dimonise написал(а):
sergeiss

помогите пожалуйста с моим вопросом - я уже себе плешь проел.............

Спустя 3 часа, 46 минут, 16 секунд (20.09.2009 - 22:35) sergeiss написал(а):
Цитата (dimonise @ 20.09.2009 - 17:13)
поподробнее с JOIN пожалуйста!


Цитата (dimonise @ 20.09.2009 - 19:49)
помогите пожалуйста с моим вопросом - я уже себе плешь проел.............

За время между двумя этими вопросами можно было уже найти всю информацию... У тебя вообще есть хэлп по работе с БД?

Спустя 1 час, 15 минут, 10 секунд (20.09.2009 - 23:50) twin написал(а):
Цитата
Если же ты всё сделаешь в одной таблице, то как минимум название товара у тебя будет дублироваться в каждой строке определенного типа товара.

Совсем не обязательно... Но две наверное все же лучше.

Спустя 9 минут, 32 секунды (21.09.2009 - 00:00) waldicom написал(а):
можно сделать с тремя таблицами:
1-я таблица: Товары - прото товары (id, name, price)
2-я таблица: Характеристики - все возможные характеристики, которые существуют (id, name, desccription)
3-я таблица: ТоварыИмеютХарактеристику: (id_товара, id_характеристики, значение характеристики)...

И всё.

Спустя 6 минут, 51 секунда (21.09.2009 - 00:07) dimonise написал(а):
Цитата
можно сделать с тремя таблицами:
1-я таблица: Товары - прото товары (id, name, price)
2-я таблица: Характеристики - все возможные характеристики, которые существуют (id, name, desccription)
3-я таблица: ТоварыИмеютХарактеристику: (id_товара, id_характеристики, значение характеристики)...



не в том проблема. проблема в том что нужно мне вот так :
Цитата
http://http://housemade.com.ua/test/housemade_test/sravny.php


только чтобы "ХарактеристикиЭ выдавались для сущестующих, а не все подряд

Спустя 2 минуты, 32 секунды (21.09.2009 - 00:09) waldicom написал(а):
Цитата (dimonise @ 20.09.2009 - 23:07)
Цитата
можно сделать с тремя таблицами:
1-я таблица: Товары - прото товары (id, name, price)
2-я таблица: Характеристики - все возможные характеристики, которые существуют (id, name, desccription)
3-я таблица: ТоварыИмеютХарактеристику: (id_товара, id_характеристики, значение характеристики)...



не в том проблема. проблема в том что нужно мне вот так :
Цитата
http://http://housemade.com.ua/test/housemade_test/sravny.php


только чтобы "ХарактеристикиЭ выдавались для сущестующих, а не все подряд

И? Вы считаете, что система с тремя таблицами не сможет сделать такое?
Кстати по ссылке открывается пустая страница (лишний http я убирал)

Спустя 2 минуты, 15 секунд (21.09.2009 - 00:11) dimonise написал(а):
ллл

Спустя 3 минуты, 24 секунды (21.09.2009 - 00:15) waldicom написал(а):
Цитата (dimonise @ 20.09.2009 - 23:11)
вот ссылка
Цитата

http://housemade.com.ua/test/housemade_tes..._post.php?cat=1


там выбрать чекбоксы и все видно

Хотелось бы повторить вопрос: чем не устраивает три таблицы и почему "не в том проблема"? И в чем собственно тогда проблема?

Спустя 11 минут, 25 секунд (21.09.2009 - 00:26) waldicom написал(а):
Из трех таблиц можно выбирать тольео те строки, где в третьей таблице есть одна и та же характеристика для обоих товаров

Спустя 4 минуты, 22 секунды (21.09.2009 - 00:30) dimonise написал(а):
хм. логично. а как это все собрать в кучу? тем более что нужно из сsv файла это все разнести по трем таблицам (импорт в базу из прайса)

Спустя 6 минут, 5 секунд (21.09.2009 - 00:37) waldicom написал(а):
Импорт отдельно, поиск и отображение отдельно. Это важно.
А связать: тут без join'а не обойтись, я думаю... Хотя его одного будет наверное мало

Спустя 48 секунд (21.09.2009 - 00:37) dimonise написал(а):
опять join - как ? разложи не простом примере

Спустя 2 минуты, 29 секунд (21.09.2009 - 00:40) dimonise написал(а):
импорт ладно можно через list. вот как с связать все....

Спустя 7 минут, 32 секунды (21.09.2009 - 00:47) waldicom написал(а):
Ну подумай головой немножко.. Надо выбрать все, где айди товара равно ххх и айди товара равно yyy и обаимеютодинаковые характеристки (айди характеристики одно и тоже)

Спустя 9 часов, 42 секунды (21.09.2009 - 09:48) dimonise написал(а):
Цитата
Ну подумай


меня опять неправильно понимают.... sad.gif

выбрать я все могу. сравнить все могу.
Я НЕ МОГУ ПРИДУМАТЬ КАК ВЫВОДИТЬ ТОЛЬКО НУЖНЫЕ НАЗВАНИЯ ХАРАКТЕРИСТИК

Спустя 1 минута, 29 секунд (21.09.2009 - 09:50) dimonise написал(а):
у меня есть2 таблицы - в одной все данные во второй - ОДНА строка всего, в которой прописаны названия характеристик. вот как мне их слепить в кучу чтобы выводились только нужные названия ?

Спустя 6 часов, 25 минут, 40 секунд (21.09.2009 - 16:15) waldicom написал(а):
Раз уж ты сам не понимаешь или не делаешь попытки понять, то давай обмен? Я тебе код, ты мне презренных американских президентов?
Быстрый ответ:

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