AndrySib
Новичок
Три связанных SELECTа с данными из MySQL
Три связанных SELECTа с данными из MySQL
Обыскал весь форум - ничего вразумительного не нашел потому что ещё чайник, есть огромное желание разобраться в этом, но мало времени…
Был на форуме вебскрипт, там закрыли тему, даже не стали обсуждать, мол, все давно разжевано – ищи по темам…
Очень надеюсь, что здесь помогут, просьба громко не смеется, и сильно не пинать… хотя.. смеяться можно.. позитив всегда должен присутствовать
Задача такова… выбираю SELECT-ом из списка категорию Автомобили, в следующем SELECT-е выбираю Марку соответственно автомобиля, далее выбираю соответствующую модель. Здесь что-то похожее, чтобы иметь представление, реализованный вариант вот http://www.auto.vl.ru/sales/?search
Вот неполный дамп базы:
(каждая марка находится в отдельной таблице… структура базы тоже в стадии разработки.. так, что принимаются любые предложения как оптимально разместить данные)
А вот собственно сам код, но он тупо отображает базу… Нужно сделать так чтобы, выбрав в первом SELECT-е категорию, например автомобили, в следующий SELECT-е загрузились данные из соответствующей таблицы "mark" (марки, в этой таблице перечислены марки для всех категорий, категория марки идентифицируется дополнительным столбцом "category_id").
Три связанных SELECTа с данными из MySQL
Обыскал весь форум - ничего вразумительного не нашел потому что ещё чайник, есть огромное желание разобраться в этом, но мало времени…
Был на форуме вебскрипт, там закрыли тему, даже не стали обсуждать, мол, все давно разжевано – ищи по темам… Очень надеюсь, что здесь помогут, просьба громко не смеется, и сильно не пинать… хотя.. смеяться можно.. позитив всегда должен присутствовать
Задача такова… выбираю SELECT-ом из списка категорию Автомобили, в следующем SELECT-е выбираю Марку соответственно автомобиля, далее выбираю соответствующую модель. Здесь что-то похожее, чтобы иметь представление, реализованный вариант вот http://www.auto.vl.ru/sales/?search
Вот неполный дамп базы:
(каждая марка находится в отдельной таблице… структура базы тоже в стадии разработки.. так, что принимаются любые предложения как оптимально разместить данные)
PHP:
CREATE TABLE category (
category_id int(11) NOT NULL auto_increment,
name text,
PRIMARY KEY (category_id)
) TYPE=MyISAM;
INSERT INTO category VALUES (1, 'Автомобили');
INSERT INTO category VALUES (2, 'Мото');
INSERT INTO category VALUES (3, 'Тяж.тех.');
CREATE TABLE mark (
category_id int(11) NOT NULL,
mark_id int(11) NOT NULL auto_increment,
name text,
PRIMARY KEY (mark_id)
) TYPE=MyISAM;
INSERT INTO mark VALUES (1,1, 'Toyota');
INSERT INTO mark VALUES (1,2, 'Nissan');
INSERT INTO mark VALUES (1,3, 'Mitsubishi');
INSERT INTO mark VALUES (2,4, 'Suzuki');
INSERT INTO mark VALUES (2,5, 'Kawasaki');
INSERT INTO mark VALUES (3,6, 'Mitsubishi');
CREATE TABLE toyota (
toyota_id int(11) NOT NULL auto_increment,
name text,
PRIMARY KEY (toyota_id)
) TYPE=MyISAM;
INSERT INTO toyota VALUES (1, '4Runner');
INSERT INTO toyota VALUES (2, 'Allex');
INSERT INTO toyota VALUES (3, 'Allion');
CREATE TABLE mitsubishi (
mitsubishi _id int(11) NOT NULL auto_increment,
name text,
PRIMARY KEY (mitsubishi _id)
) TYPE=MyISAM;
INSERT INTO mitsubishi VALUES (1, 'Mirage');
INSERT INTO mitsubishi VALUES (2, 'Galant');
INSERT INTO mitsubishi VALUES (3, 'Legnum');
PHP:
<?
//Соединение с базой
@mysql_connect( "localhost", " autocatalog", "password") or die("Ошибка: Нет соединения с сервером!");
@mysql_select_db("autocatalog") or die("Ошибка: База не выбрана!");
?>
<form action="x" method="post" name="x" id="x">
<select name="category">
<option value="select" value="select">Выберите категорию</option>
<?
$table = mysql_query ("SELECT * FROM category");
while ($res = mysql_fetch_array($table))
{
$out_string = $res["name"];
echo "<option value=".$res[number].">".$out_string."";
}
?>
</select>
<br><br>
<select name="mark">
<option class="select" value="select">Выберите марку</option>
<?
// Здесь предполагаю за место "mark" должна быть какая-то переменная,
// которая выбирается предыдущим селектом…
// и тем самым выбирает из базы соответствующую выбору таблицу…. как это сделать х.з…
$table = mysql_query ("SELECT * FROM mark");
while ($res = mysql_fetch_array($table))
{
// Здесь, каким-то образом из таблицы должны выбраться только те марки, которые соответствуют
//предыдущему выбору категории...
$out_string = $res["name"];
echo "<option value=".$res[number].">".$out_string."</option>";
}
?>
</select>
<br><br>
<select name="model">
<option class="select" value="select">Выберите модель</option>
<?
// Здесь соответственно модель марки выбранной категории…
$table = mysql_query ("SELECT * FROM toyota");
while ($res = mysql_fetch_array($table))
{
$out_string = $res["name"];
echo "<option value=".$res[number].">".$out_string."</option>";
}
?>
</select>
</form>