РЕДАКТИРОВАТЬ:
Я обнаружил, что ошибка здесь:
$ query = "ВЫБЕРИТЬ различную LLANTA ИЗ tyresizestable WHERE FLANCO = '$ flanco' AND ANCHO = '$ ancho' ORDER BY LLANTA AS C ";
Не знаю почему, он не берет информацию из первого выпадающего списка, не получает значение ANCHO. Я знаю это, потому что я пытался сделать это вручную, поместив «ANCHO = '195'», и это работает.
Может кто-нибудь помочь мне, пожалуйста?
Это то, что я должен получить в третьем выпадающий список:
ОРИГИНАЛЬНЫЙ ПОСТ:
Я пытаюсь создать серию выпадающих меню, каждое из которых отображает серия опций в зависимости от опции, выбранной при предыдущем выборе. Это сделать фильтр из существующих размеров шин. Я искал по всему inte rnet в течение 2 дней, и третий выпадающий список ничего не дает.
Вот так выглядит таблица базы данных:
Мне нужен раскрывающийся список для «ANCHO» (ширина), другой для «FLANCO» (соотношение сторон), другой для «LLANTA» (радиальный), другой для «CARGA» (максимальная грузоподъемность) и другой для "VELOCIDAD" (максимальная скорость). Каждый из них будет отображать доступные значения с ранее выбранными общими параметрами. Например:
- Если я выберу «ANCHO» в 175, он может иметь «FLANCO» 50, 55, 60, 65, 70, 75 и 80.
- Если тогда я выберите "FLANCO" в 70, он может иметь "LLANTA" 13, 14 или 15.
Но, несмотря ни на что, у меня не работает раскрывающийся список "LLANTA". Значения, доступные для раскрывающегося списка, должны быть «13, 14 или 15» на основе ранее выбранных «ANCHO» и «FLANCO» и не возвращать результатов.
Я использовал этот код: https://www.codexworld.com/dynamic-dependent-select-box-using-jquery-ajax-php/
Вся информация находится в той же таблице "tyresizestable".
РЕДАКТИРОВАТЬ: краткое объяснение. Третий раскрывающийся список должен отображать LLANTA (радиальная), доступная для выбранных ANCHO (ширина) и FLANCO (соотношение сторон). В этом случае на скриншотах выбран ANCHO 175 и FLANCO 70. Таким образом, в этом третьем раскрывающемся списке должны отображаться 13, 14 и 15. Каждый ряд представляет собой размер шины / модель.
В этой части, по-моему, происходит сбой:
$query = "SELECT distinct LLANTA FROM tyresizestable WHERE FLANCO = '$flanco' AND ANCHO = '$ancho' ORDER BY LLANTA ASC";
Это код.
AjaxData. php
<?php
include_once 'dbConfig.php';
if(!empty($_POST["ANCHO"])){
$ancho = ($_POST['ANCHO']);
$query = "SELECT distinct FLANCO FROM tyresizestable WHERE ANCHO = '$ancho' ORDER BY FLANCO ASC";
$result = $db->query($query);
if($result->num_rows > 0){
echo '<option value="">Selecciona Flanco</option>';
while($row = $result->fetch_assoc()){
echo '<option value="'.$row['FLANCO'].'">'.$row['FLANCO'].'</option>';
}
}else{
echo '<option value="">No disponible</option>';
}
}
elseif(!empty($_POST["FLANCO"])){
$ancho = ($_POST['ANCHO']);
$flanco = ($_POST["FLANCO"]);
$query = "SELECT distinct LLANTA FROM tyresizestable WHERE FLANCO = '$flanco' AND ANCHO = '$ancho' ORDER BY LLANTA ASC";
$result = $db->query($query);
if($result->num_rows > 0){
echo '<option value="">Seleciona Llanta</option>';
while($row = $result->fetch_assoc()){
echo '<option value="'.$row['LLANTA'].'">'.$row['LLANTA'].'</option>';
}
}else{
echo '<option value="">No disponible</option>';
}
}
?>
Index. php
<?php
include_once 'dbConfig.php';
$query = "SELECT distinct ANCHO FROM tyresizestable";
$result = $db->query($query);
?>
<select id="ancho">
<option value="">Selecciona Ancho</option>
<?php
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo '<option value="'.$row['ANCHO'].'">'.$row['ANCHO'].'</option>';
}
}else{
echo '<option value="">No disponible</option>';
}
?>
</select>
<select id="flanco">
<option value="">Selecciona Ancho Primero</option>
</select>
<select id="llanta">
<option value="">Selecciona Flanco Primero</option>
</select>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('#ancho').on('change', function(){
var ANCHO = $(this).val();
if(ANCHO){
$.ajax({
type:'POST',
url:'ajaxData.php',
data:'ANCHO='+ANCHO,
success:function(html){
$('#flanco').html(html);
$('#llanta').html('<option value="">Selecciona Flanco Primero</option>');
}
});
}else{
$('#flanco').html('<option value="">Selecciona Ancho Primero</option>');
$('#llanta').html('<option value="">Selecciona Flanco Primero</option>');
}
});
$('#flanco').on('change', function(){
var FLANCO = $(this).val();
if(FLANCO){
$.ajax({
type:'POST',
url:'ajaxData.php',
data:'FLANCO='+FLANCO,
success:function(html){
$('#llanta').html(html);
}
});
}else{
$('#llanta').html('<option value="">Selecciona Flanco Primero</option>');
}
});
});
</script>
Я должен сказать, что я новичок в этой комбинации ajax / mysql / php. Но любая помощь будет оценена. Я надеюсь, что все нестабильно, так как я немного ограничен в Engli sh. Спасибо!