|
|
|
| Имеется две таблицы:
marka
-id
-name
и вторая:
models
-id
-bodytype
-id_marka
Так вот: пользователь выбирает тип кузова и из таблицы моделей и идет выборка всех строк, у которых совпадает выбранный тип кузова и bodytype, и затем по полю id_marka из таблицы marka идет выборка строк где совпали id. (Короче primary и foreign keys)
я делал так:
$res=mysql_query("SELECT DISTINCT id_marka FROM models WHERE bodytype = '$bodytype'");
while($x=mysql_fetch_row($res)){
$name=mysql_result(mysql_query("SELECT name FROM marka WHERE id = '$x[0]' LIMIT 1"),0);
echo"$name <br>";
}
|
| |
|
|
|
|
|
|
|
для: stas1987
(05.07.2007 в 18:51)
| | И еще:
Я создаю primary key в таблице marka
нужно ли в таблице models делать reference поля id_marka на marka.id
(я просто еще не сильно опытный и где-то это увидел. Может это нужно было делать в старых версиях???) | |
|
|
|
|
|
|
|
для: stas1987
(05.07.2007 в 18:54)
| | По моему проще
SELECT marka.name FROM models,marka WHERE(bodytype = '$bodytype' AND marka.id=models.id_marka )
Если тип таблица не InnoDB или BerkeleyDB то делать reference поля id_marka не нужно т.к в остальных таблицах внешние ключи не поддерживаются | |
|
|
|
|
|
|
|
для: Prihod
(05.07.2007 в 19:22)
| | А можете посоветовать какой тип лучше?
У меня в базе "связано" не больше четырех таблиц на каждый раздел сайта (их 5). Т.е. одна таблица связана по id со следующей, другая по своему уже id связано с третьей и т.д. Но есть и таблицы, в которых число записей превышает 100 000. | |
|
|
|
|
|
|
|
для: stas1987
(05.07.2007 в 18:51)
| | Извините! перепутал форумы!!! | |
|
|
|