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

Форум MySQL

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

 

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

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

тема: Подбор товара с заданным материалом из нескольких фирм
 
 автор: dirol   (08.07.2011 в 12:56)   письмо автору
 
 

есть список товара и категории. у товара есть размер. цвет, материал.
у одного вида метериалов есть разные названия. к примеру у гранита

$material.="AND a.material='Silgranit' OR 
a.material='Nanogranit' OR a.material ='Lonstone' OR 
a.material ='Cristadur' OR a.material = 'Cristalite' OR 
a.material = 'Cristastone' OR a.material = 'Гранит'";


если выбрать к примеру фирму 1 у нее нету таких материалов, то из бызы выводятся другие фирму , у которых есть такие материалы, подскажите как это исправить

  Ответить  
 
 автор: Lotanaen   (08.07.2011 в 13:28)   письмо автору
 
   для: dirol   (08.07.2011 в 12:56)
 

указывайте в запросе ИД фирмы

  Ответить  
 
 автор: cheops   (08.07.2011 в 13:31)   письмо автору
 
   для: dirol   (08.07.2011 в 12:56)
 

Хм... в первую очередь хорошо бы составить таблицу всех возможных материалов - это позволит избавиться от строк в поле material и использовать числа. Затем осуществлять левое объединение по таблице материалов.

PS Вообще говоря нужна бы структура базы данных, а еще лучше дамп, чтобы что-то конкретное посоветовать.

  Ответить  
 
 автор: dirol   (08.07.2011 в 14:01)   письмо автору
 
   для: cheops   (08.07.2011 в 13:31)
 

а щас неправленьно сделано? просто если человек ставит галочку к примеру Фирма1 и метериал гранит , нажимает показать то выводятся и другие фирмы у которых есть такие же материалы. без отдельно таблицы можно это сделать?

  Ответить  
 
 автор: Lotanaen   (08.07.2011 в 14:08)   письмо автору
 
   для: dirol   (08.07.2011 в 14:01)
 

В скобки все условие с или возьмите
$material.="AND ( a.material='Silgranit' OR 
a.material='Nanogranit' OR a.material ='Lonstone' OR 
a.material ='Cristadur' OR a.material = 'Cristalite' OR 
a.material = 'Cristastone' OR a.material = 'Гранит')";

  Ответить  
 
 автор: cheops   (08.07.2011 в 14:35)   письмо автору
 
   для: dirol   (08.07.2011 в 14:01)
 

Информации мало, нет перед глазами таблицы, а в голове проблемы :) Если гранит есть во всех фирмах все работает нормально? Вам выводится то что нужно?

  Ответить  
 
 автор: dirol   (08.07.2011 в 16:18)   письмо автору
 
   для: cheops   (08.07.2011 в 14:35)
 

спасибо. скобки помогли сразу)

  Ответить  
Rambler's Top100
вверх

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