Подскажите как реализовать фильтрацию mysql, создал таблицу в бд с 2умя колонками(id , marka_avto), вопрос как сделать так чтобы при выборе марки авто выпадал список с моделями авто конкретной марки, нужно ли создавать отдельную таблицу для моделей авто и какие там должны быть колонки?
пока что только выводятся значения из бд марка авто, делал так:
<select class="filtr__select" id="idcat">
<option>марка</option>
<?php
//Выводим категории и ее ID
while ($row=mysql_fetch_assoc($result))
{
$id = $row['id']; // иднтификатор
$marka = $row['marka_avto'];
echo "<option value=\"$id\">$marka</option>";
}
?>
</select>
// Тут по идеи должна выводится модель авто в зависимости от выбранной марки
<select class="filtr__select" id="idcat">
<option>модель</option>
<?php
//Выводим категории и ее ID
while ($row=mysql_fetch_assoc($result))
{
$id = $row['id']; // иднтификатор
$model = $row['model_avto'];
echo "<option value=\"$id\">$model</option>";
}
?>
</select>
С бд раньше не работал поэтому интересует как спроектировать бд для такого фильтра, заранее спасибо
Приближенная модель
Графическое представление в MySql Workbench
Скрипт, созданный MySQL Workbench
-- -----------------------------------------------------
-- Table `mydb`.`Brand`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Brand` (
`Id` INT NOT NULL AUTO_INCREMENT,
`Name` VARCHAR(45) NOT NULL,
PRIMARY KEY (`Id`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Model`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Model` (
`Id` INT NOT NULL AUTO_INCREMENT,
`Name` VARCHAR(45) NOT NULL,
`BrandId` INT NOT NULL,
PRIMARY KEY (`Id`),
INDEX `fk_Model_Brand_idx` (`BrandId` ASC),
CONSTRAINT `fk_Model_Brand`
FOREIGN KEY (`BrandId`)
REFERENCES `mydb`.`Brand` (`Id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`Car`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `mydb`.`Car` (
`Id` INT NOT NULL AUTO_INCREMENT,
`Name` VARCHAR(45) NOT NULL,
`ModelId` INT NOT NULL,
PRIMARY KEY (`Id`),
INDEX `fk_Car_Model1_idx` (`ModelId` ASC),
CONSTRAINT `fk_Car_Model1`
FOREIGN KEY (`ModelId`)
REFERENCES `mydb`.`Model` (`Id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
Допустим есть функция, которая возвращает случайную цифру:
Подскажите, вывожу из бд значения в option, проблема в том что выводятся все значения из строки marka, получается много option с одинаковым значением...
В абсолютно стандартном проекте laravel не могу понять как подключить данную библиотеку через appphp, свои классы там регистрировал и проблем не возникало,...