Одним запросом

Rastyo
Дата: 25.01.2013 14:39:43
есть запрос к БД
 
кратко о запросе...
 
Нужно запросить все данные указанные в фильтрах в один запрос
 
прописую 3 фильтра в запросе работать не хочет..а по одному мне сказали не делать
 
как мне вставить в запрос 3 фильтра и что бы они работали?
 
 
<?php
include_once 'connect.php';
 
$tour = $_POST['tour_id'];
$region = $_POST['region_id'];
$country = $_POST['country_id'];
 
$filter_tour="regions.tour_id=tours.tour_id  AND countries.region_id=regions.region_id AND tours.tour_id=$tour";
$filter_regions="countries.region_id=regions.region_id AND regions.tour_id=tours.tour_id AND regions.region_id=$region";
$filter_country="countries.country_id=$country AND countries.region_id=regions.region_id AND regions.tour_id=tours.tour_id";
 
if ($tour) {
        $result = mysql_query("SELECT * from tours,regions,countries WHERE $filter_tour ");
        while ($row_all = mysql_fetch_array($result)) {
             $name_t = $row_all['name_t'];
             $name_r = $row_all['name_r'];
             $name_c = $row_all['name_c'];
             $name_c_price = $row_all['price_c'];
             echo "<table align='center' cellspacing='2' cellpadding='2' border='1' style='border:0px solid #000'>"."<tr>";
             echo "<td width='150' align='center'>".$name_t."</td>";
             echo "<td width='150' align='center' style='color:#666'>".$name_r."</td>";
             echo "<td width='150' align='center'>".$name_c."</td>";
             echo "<td width='150' align='center' style='color:red'>".$name_c_price." грн. "."</td>";
             echo "</tr>"."</table>";
             }
}
 
hallabud
Дата: 25.01.2013 14:54:15
Rastyo
SELECT * from tours,regions,countries WHERE $filter_tour


Странная у вас конструкция селекта. Что она должна вывести?
Rastyo
Дата: 25.01.2013 14:59:23
Это я один фильм для примера вывел... она выводит мне все предложения по выбраному туру

если заменю фильтр на регионы..то выведит все предложения региона по выбраному региону


а мне нужно что бы это было все в одном запросе было
Rastyo
Дата: 25.01.2013 15:08:40
hallabud
Rastyo
SELECT * from tours,regions,countries WHERE $filter_tour


Странная у вас конструкция селекта. Что она должна вывести?


это вроде легко но немогу вьехать как это сдлетьа
Akina
Дата: 25.01.2013 15:09:34
Нехрен строчки экономить!
Сперва собирайте текст запроса в переменной, а потом делайте запрос к серверу.
$sql = 'бла-бла-бла;';
$result = mysql_query($sql);

Получается хрень? выводите между этими строками содержимое переменной и смотрите, почему.
AlexeyVD
Дата: 25.01.2013 15:11:56
WHERE ($filter_tour) OR ($filter_regions) OR ($filter_country)
Или можете воспользоваться конструкцией с UNION (ALL)