Вопрос по tecdoc

Доброго времени суток, уважаемые форумчане.

В общем задача заключается в следующем:

Имеется:

— база данных со множеством таблиц
— sql запросы к этой БД следующего вида:

[sql]SELECT
MFA_ID,
MFA_BRAND
FROM
MANUFACTURERS
ORDER BY
MFA_BRAND
LIMIT
100
;[/sql]

Но если я еще смог загнать эти запросы в PHP:

PHP:
  1. <?php
  2.     /* Соединяемся, выбираем базу данных */
  3.     $link = mysql_connect(«localhost», «root», «192837»)
  4.         or die(«Could not connect : « . mysql_error());
  5.     print «Connected successfully»;
  6.     mysql_select_db(«tecdoc») or die(«Could not select database»);
  7.  
  8.     /* Выполняем SQL-запрос */
  9.     $ath2 = mysql_query(«SET @LNG_ID = 16;»);
  10.     $query = «SELECT
  11.    MFA_ID,
  12.    MFA_BRAND
  13. FROM
  14.    MANUFACTURERS
  15. ORDER BY
  16.    MFA_BRAND
  17. LIMIT
  18.    100
  19.  
  20. ;
  21.     $result = mysql_query($query) or die(«Query failed : « . mysql_error());
  22.     /* Выводим результаты в html */
  23.     print «<table>\n«;
  24.     while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
  25.      
  26.         print «\t<tr>\n«;
  27.         foreach ($line as $MFA_ID) {
  28.             print «\t\t<td>$MFA_ID</td>\n«;
  29.         }
  30.         print «\t</tr>\n«;
  31.     }
  32.     print «</table>\n«;
  33.  
  34.     /* Освобождаем память от результата */
  35.     mysql_free_result($result);
  36.  
  37.     /* Закрываем соединение */
  38.     mysql_close($link);
  39. ?>

То дальше уже смутно предстваляю что делать

Вкратце — этот запрос цепляет с БД все брэнды авто и выводит их на главную страницу.

Есть так же следующий шаг. После того, как выбран брэнд должен открываться список марок авто выбранного брэнда (производителя короче говоря)

[sql]SET @MFA_ID = 502; /* ALFA ROMEO */
SET @LNG_ID = 16; /* 1 — Немецкий язык; 16 — Русский язык */

SELECT
MOD_ID,
TEX_TEXT AS MOD_CDS_TEXT,
MOD_PCON_START,
MOD_PCON_END
FROM
MODELS
INNER JOIN COUNTRY_DESIGNATIONS ON CDS_ID = MOD_CDS_ID
INNER JOIN DES_TEXTS ON TEX_ID = CDS_TEX_ID
WHERE
MOD_MFA_ID = @MFA_ID AND
CDS_LNG_ID = @LNG_ID
ORDER BY
MOD_CDS_TEXT
LIMIT
100
;[/sql]

SQL запрос для этого я знаю, но как сделать так, чтобы марки выдавались по выбранному в предыдущем шаге производителю? Т.е. переменная MFA_ID заимствовалась из предыдущего шага, и уже относительно ее выполнялся запрос в БД?

Строго говоря, должна получиться некая цепочка, но как бы это по-грамотней обтяпать я что — то уже весь мозг вынес)

Помогите пожалуйста. Заранее благодарен.

 

Если я правильно понял твоя проблему: она заключается в том, что ты не знаешь как организовать структуру БД.
В таком случае одним из правильных решений я считаю создание двух таблиц в БД.
Первая таблица должна содержать следующие поля:

ID производитея автомобиля(INT, A_I)
Название производителя автомобиля(VARCHAR)

И вторая таблица, которая содержит в себе такие поля:

ID марки автомобиля(теже int и a_i)
ID производителя автомобиля(заимствуем из прошлой таблицы)
Название марки автомобиля(VARCHAR)

Есть вопросы?

 

Получилось вывести?

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *