Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
запрос с тремя параметрами (Max Sharov) 26/02/2008 - 10:06:32
      Re: запрос с тремя параметрами (UX) 26/02/2008 - 16:46:39
      Re: запрос с тремя параметрами (Max Sharov) 26/02/2008 - 22:11:37

> Original message text:
> From: Max Sharov - 26/02/2008 - 10:06:32
> Subject:запрос с тремя параметрами
> -----------------
> Будучи неопытным пользователем мускула обращаюсь за помощью. Помогите рационально построить запрос.
> Структура базы:
>
> таблица1(id, company_name, region_id)
> таблица2(region_id, region)
> "таблица1" связана с "таблица2" связью один-ко-многим.
>
> таблица3(id_service,service)
> таблица4(id,id_company_name,id_service,)
> здесь осуществлена связь многие-ко-многим через "таблица4".
>
> таблица5(id_product,product)
> таблица6(id,id_company_name,id_product,)
> здесь осуществлена связь многие-ко-многим через "таблица6".
>
> помогите построить запрос, в результате которого будет получен результат выборки, удовлетворяющий есть 3 входные параметра (регион, сервис, продукция), переданные через GET. при чем каждая из них может быть ="", т.е. не заданная. на сервере мускул 4.1, движок MyISAM. Спасибо большое за ответ.
>


From: UX - 26/02/2008 - 16:46:39
Subject:запрос с тремя параметрами
-----------------
PHP:

function GetResult($paramname, $TblName, $FieldID){
if isset($_GET[$paramname]) return ".$FieldID=(select $FieldID from $TblName where $paramname=$_GET[$paramname])";
return ".$FieldID in (select $FieldID from $TblName)";
}

$region = GetResult('region', 'таблица2', 'region_id');
$service = GetResult('service', 'таблица3', 'id_service');
$product = GetResult('product', 'таблица5', 'id_product');

$Query = "select таблица1.company_name, таблица2.region, таблица3.service, таблица5.product where
((таблица1$region) and (таблица4service) and (таблица6$product) and
(таблица1.company_name=таблица4.company_name) and (таблица1.company_name=таблица6.company_name))";

//Далее исполнить запрос из $Query

А вопще у тебя структура базы плохая - лучше было сделать в таком виде:
таблица1(region_id, region);
таблица2(service_id,service);
таблица3(product_id,product);
таблица4(id, company_name, region_id, service_id, product_id);


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
33136



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |