У меня есть 3 таблицы
tblmodel
id modelname
1 model1
2 model2
3 model3
4 model4
5 model5
tblbrand
id brandname
1 brand1
2 brand2
3 brand3
4 brand4
5 brand5
tblvehicles (vehiclemodel and vehiclebrand are "IDs" from tblbrand and tblmodel)
id vehiclemodel vehiclebrand
1 1 4
2 3 3
3 5 2
4 5 4
5 2 2
Я хочу выбрать идентификатор бренда и название бренда AS "bid", а затем присоединиться к tblbrand по адресу tblbrand (id) = tblvehicle (vehiclelebrand)
AND
идентификатор модели и название модели AS "mid", затем присоединитесь к tblmodel по tblmodel (id) = tblvehicle (vehiclemodel)
WHERE tblvehicles (id) =: id
вот мойКод SQL:
"
SELECT v.*
, m.ModelName
, m.id as mid
, b.BrandName
, b.id as bid
from tblvehicles v
join tblmodel m
on m.id = v.VehicleModel
join tblbrand b
on b.id = v.VehiclesBrand
where v.id=:id
";
У меня есть два выпадающих меню / выбор (один - модель, а другой - бренд), но всякий раз, когда я пытаюсь их редактировать (например: модель1 -> модель4 или марка3 ->brand2), они перезапишут друг друга, например, если я поменяю model1 -> model4, мой brand3 тоже станет -> model4.
Вот мой PHP / HTML-код для выбора / выпадающего меню
МОДЕЛЬ:
<select class="selectpicker" name="modelname" required>
<option value="<?php echo htmlentities($result->mid);?>"><?php echo htmlentities($mdname=$result->ModelName); ?> </option>
<?php
$ret="select id, ModelName from tblmodel";
$query= $dbh -> prepare($ret);
$query-> execute();
$resultss = $query -> fetchAll(PDO::FETCH_OBJ);
if($query -> rowCount() > 0){
foreach($resultss as $results){
if($results->ModelName==$mdname){
continue;
} else{
?>
<option value="<?php echo htmlentities($results->id);?>"><?php echo htmlentities($results->ModelName);?></option>
<?php }}} ?>
</select>
BRAND
<select class="selectpicker" name="brandname" required>
<option value="<?php echo htmlentities($result->bid);?>"><?php echo htmlentities($bdname=$result->BrandName); ?> </option>
<?php
$ret="select id, BrandName from tblbrand";
$query= $dbh -> prepare($ret);
$query-> execute();
$resultss = $query -> fetchAll(PDO::FETCH_OBJ);
if($query -> rowCount() > 0){
foreach($resultss as $results){
if($results->BrandName==$bdname){
continue;
} else{
?>
<option value="<?php echo htmlentities($results->id);?>"><?php echo htmlentities($results->BrandName);?></option>
<?php }}} ?>
</select>
Может кто-нибудь помочь мне, что не так с кодом SQL, который вызывает его перезапись?Или сама структура неверна?
> ОБНОВЛЕНИЕ: На самом деле это работает на стороне сервера.Когда я проверяю базу данных, она получает правильный идентификатор, который я выбираю для каждого в BrandName и ModelName.но когда я возвращаю его обратно клиентской стороне, данные, которые появляются в «Выбрать», неверны.имя модели становится brand1.Он получает идентификатор бренда.