Извините, если это обсуждалось ранее, но все они на самом деле не работают для меня. У меня есть 5 выпадающих списков: марка, модель, цвет, номер двигателя и номер шасси. Мой вопрос заключается в том, что я должен сделать, чтобы выпадающее меню было основано на выбранном раскрывающемся списке бренда, например, если пользователь выбирает Honda хорошо на основе моего опубликованного изображения в моей базе данных, BrandID Honda – 1, поэтому вся модель, у которой есть BrandID = 1. Выпадающая модель показана только с брендомID = 1. Затем раскрытие цвета основано на выпадающем списке модели, поэтому та же логика, что и ранее, обсуждалась. Наконец, выпадение номера двигателя и номер шасси основано на раскрытии цвета, также как и логика, которую я обсуждал.
Вот мой код для выпадающего бренда
<label for="bName" class="control-label col-xs-4"><p class="left">Brand</p></label> <div class="col-xs-7"> <div class="req"> <?php include_once "config.php"; $bsql="SELECT bName, brandID FROM brand order by bName"; $bstmt=$con->prepare($bsql); $bstmt->execute(); $bstmt->bind_result($bName, $bid); $bstmt->store_result(); echo "<select name='brandID' class='form-control'> <option value=''></option>"; while ($bstmt->fetch()){ echo '<option value="'.$bid.'">'.$bName.'</option>'; } echo '</select>'; ?> </div> </div>
Heres код для раскрытия модели
<label for="model" class="control-label col-xs-4"> <p class="left">Model</p></label> <div class="col-xs-7"> <div class="req"> <?php include_once "config.php"; $msql="SELECT model, modID FROM model order by model"; $mstmt=$con->prepare($msql); //$mstmt->bind_param('i', $bid); $mstmt->execute(); $mstmt->bind_result($model, $mid); $mstmt->store_result(); echo "<select name='mID' class='form-control'> <option value=''></option>"; while ($mstmt->fetch()){ echo '<option value="'.$mid.'">'.$model.'</option>'; } echo '</select>'; ?> </div> </div>
Вот код для выпадающего цвета
<label for="model" class="control-label col-xs-4"><p class="left">Color</p></label> <div class="col-xs-7"> <div class="req"> <?php include_once "config.php"; $csql="SELECT distinct(color) FROM stock order by color"; $cstmt=$con->prepare($csql); $cstmt->execute(); $cstmt->bind_result($color); $cstmt->store_result(); echo "<select name='color' class='form-control'> <option value=''></option>"; while ($cstmt->fetch()){ echo '<option value="'.$color.'">'.$color.'</option>'; } echo '</select>'; ?> </div> </div>
Вот код для выпадающего номера двигателя
<label for="engNum" class="control-label col-xs-4"> <p class="left">Engine No</p></label> <div class="col-xs-7"> <div class="req"> <?php include_once "config.php"; $esql="SELECT engNum FROM stock where status='Available' order by engNum"; $estmt=$con->prepare($esql); $estmt->execute(); $estmt->bind_result($engNum); $estmt->store_result(); echo "<select name='engNum' class='form-control'> <option value=''></option>"; while ($estmt->fetch()){ echo '<option value="'.$engNum.'">'.$engNum.'</option>'; } echo '</select>'; ?> </div> </div>
Heres код для выпадающего номера Chasis No.
<label for="chassisNum" class="control-label col-xs-4"><p class="left">Chassis No</p></label> <div class="col-xs-7"> <div class="req"> <?php include_once "config.php"; $nsql="SELECT chassisNum FROM stock where status='Available' order by chassisNum"; $nstmt=$con->prepare($nsql); $nstmt->execute(); $nstmt->bind_result($chassisNum); $nstmt->store_result(); echo "<select name='chassisNum' class='form-control'> <option value=''></option>"; while ($nstmt->fetch()){ echo '<option value="'.$chassisNum.'">'.$chassisNum.'</option>'; } echo '</select>'; ?> </div> </div>
Heres the Image для моей базы данных бренда
Heres the Image для моей базы данных моделей
Heres Image для цвета, chasis no. и номер двигателя. база данных
Write an onchange event on select tag for eg to change the Models based on brand selected you should write <label for="bName" class="control-label col-xs-4"><p class="left">Brand</p></label> <div class="col-xs-7"> <div class="req"> <?php include_once "config.php"; $bsql="SELECT bName, brandID FROM brand order by bName"; $bstmt=$con->prepare($bsql); $bstmt->execute(); $bstmt->bind_result($bName, $bid); $bstmt->store_result(); echo "<select name='brandID' class='form-control' **onchange='getModels(this)'**> <option value=''></option>"; while ($bstmt->fetch()){ echo '<option value="'.$bid.'">'.$bName.'</option>'; } echo '</select>'; //The function getModels(this) will get called whenever user will change the value of the brand option. Now define this method in your js file function getModels(BrandObj) { brandValue=BrandObj.value; // Will give you the ID of brand which is selected. // Make A ajax call to some php file which will return models based on brand ID & bind it to your Models Dropdown $.ajax({ url: 'getModels.php', type: 'GET', // Method Type data: 'brandID=brandValue',// This parameter will be sent to getModels.php success: function(**data**) { //called when successful the data we have returned in getModels.php will be accessible in "data" variable // Decode the response & bind it to your dropdownList }, error: function(e) { //called when there is an error //console.log(e.message); } }); } // IN your getModels.php file write following code $BrandID=@$_GET['brandID']; //Connect to database // Write a sql to find models having brand_id=$BrandID // Fetch rows & create array of Models & return it using echo json_encode(*your_array_name*) // END getModels.php // You can find the detailed documentation of AJAX http://api.jquery.com/jquery.ajax/