Ticketa
Registered
Здравейте.
Обмислях едни варианти и съм си структурирал базата данни по-възможно най-краткия и прост начин. Окей, хубаво. Сега обаче при извеждането на информацията, не се бях съобразил дали ще мога да направя това, което искам.
Имам 2 таблици(примерни)
`cars` и `car_features`
Сега в първата таблица, имам:
`id`, `title`, `fuel_id`, `doors_id`, `seats_id`
Във втората `car_features` имам:
`feat_id`, `feat_name`, `feat_parent`
Да предположим, че в таблицата `cars` имам информация:
id: 1
title: проба
fuel_id: 16
doors_id: 7
seats_id: 24
Сега, за да изведа тази информация правя следното:
SELECT * FROM `cars` AS `c`, `car_features` AS `f` WHERE `c`.`id`='1' AND `c`.`fuel_id`=`f`.`feat_id` AND `c`.`doors_id`=`f`.`feat_id`;
Ето го и въпроса ми. Как мога да изведа например горивото и вратите, без да създавам излишни заявки или да правя функции? Пак казвам. Това е прост код, който е само за примера. Въпроса ми е как да стане заявката и да извадя резултата за всяка отделна "функция"?
Надявам се да сте ме разбрали.
Послепис: Мислех да създам една функция, с която да взимам дадения резултат от таблицата features, нещо от вида на:
и после при извеждането:
Гориво: ".test($row->fuel_id, 1)."
Врати: ".test($row->doors_id, 2)."
и т.н. но това е.. доста не правилно. Надявам се някой да удари рамо
)
Обмислях едни варианти и съм си структурирал базата данни по-възможно най-краткия и прост начин. Окей, хубаво. Сега обаче при извеждането на информацията, не се бях съобразил дали ще мога да направя това, което искам.
Имам 2 таблици(примерни)
`cars` и `car_features`
Сега в първата таблица, имам:
`id`, `title`, `fuel_id`, `doors_id`, `seats_id`
Във втората `car_features` имам:
`feat_id`, `feat_name`, `feat_parent`
Да предположим, че в таблицата `cars` имам информация:
id: 1
title: проба
fuel_id: 16
doors_id: 7
seats_id: 24
Сега, за да изведа тази информация правя следното:
SELECT * FROM `cars` AS `c`, `car_features` AS `f` WHERE `c`.`id`='1' AND `c`.`fuel_id`=`f`.`feat_id` AND `c`.`doors_id`=`f`.`feat_id`;
$query = mysql_query("SELECT * FROM `cars` AS `c`, `car_features` AS `f` WHERE `c`.`id`='1' AND `c`.`fuel_id`=`f`.`feat_id` AND `c`.`doors_id`=`f`.`feat_id`;") or die(mysql_error());
if(mysql_num_rows($query) > 0) {
$row = mysql_fetch_object($query);
echo "Кола: {$row->title} | врати: {$row->feat_name} | гориво: {$row->feat_name}";
} else {
echo "not found";
}
Ето го и въпроса ми. Как мога да изведа например горивото и вратите, без да създавам излишни заявки или да правя функции? Пак казвам. Това е прост код, който е само за примера. Въпроса ми е как да стане заявката и да извадя резултата за всяка отделна "функция"?
Надявам се да сте ме разбрали.
Послепис: Мислех да създам една функция, с която да взимам дадения резултат от таблицата features, нещо от вида на:
Код:
function test($ID, $act=1) {
if($act == 1) {
$query = mysql_fetch_object(mysql_query("SELECT * FROM `car_features` WHERE `feat_id`='$id';));
return $query->feat_name;
} else if ($act == 2) {
$query = mysql_fetch_object(mysql_query("SELECT * FROM `car_features` WHERE `feat_id`='$id';));
return $query->feat_name;
} else if ($act == 3) {
$query = mysql_fetch_object(mysql_query("SELECT * FROM `car_features` WHERE `feat_id`='$id';));
return $query->feat_name;
}
}
и после при извеждането:
Гориво: ".test($row->fuel_id, 1)."
Врати: ".test($row->doors_id, 2)."
и т.н. но това е.. доста не правилно. Надявам се някой да удари рамо