#javascript #php #jquery #updates
#javascript #php #jquery #Обновления
Вопрос:
Как я могу обновить другой выпадающий список с помощью jquery с помощью sql. Это означает из базы данных.
$('#typeOfGlass').on('change', function(){
console.log($('#typeOfGlass').val());
$('#glassWidth').html('');
if($('#typeOfGlass').val()==15){
$('#glassWidth').append('<option value="19">19</option>');
$('#glassWidth').append('<option value="20">20</option>');
$('#glassWidth').append('<option value="21">21</option>');
}else{
$('#glassWidth').append('<option value="6">6</option>');
$('#glassWidth').append('<option value="7">7</option>');
$('#glassWidth').append('<option value="8">8</option>');
$('#glassWidth').append('<option value="9">9</option>');
}
});
Я использую этот, но понятия не имею, как сделать это из базы данных.
$sqlq="SELECT DISTINCT daerah FROM kampung WHERE negeri='$negeri'";
$result_set=mysqli_query($conn, $sqlq);
while($row=mysqli_fetch_array($result_set, MYSQLI_ASSOC))
{
echo "<option value=".$row['daerah'].">".$row['daerah']."</option>";
}
Есть идеи?
Комментарии:
1. Для достижения этой цели вы можете использовать AJAX, однако ваш вопрос слишком широк, чтобы на него можно было ответить эффективно.
Ответ №1:
Первое, что вам нужно сделать, это изменить запрос или добавить информацию в вашу таблицу, чтобы у программы был способ узнать, добавлять или не добавлять конкретное <option>
в <select>
.
Затем извлеките все строки в массив. Это должно сработать, но я его не тестировал:
$rows = array();
while ($rows[] = mysqli_fetch_array($result_set, MYSQLI_ASSOC));
Теперь передайте эти данные в JavaScript:
echo "<script> var data = " . json_encode($rows) . "; </script>";
Наконец, при #typeOfGlass
изменении очистите #glassWidth
, затем повторите data
и добавьте только соответствующие элементы, в зависимости от #typeOfGlass
значения.
Ответ №2:
Вариантом достижения этого может быть использование Ajax, как предложил @Rory McCrossan. Процесс довольно долгий для точного ответа, но я дам вам несколько шагов, которые вам нужно будет выполнить.
Если ваш запрос работает в вашем php, и ваш html тоже работает нормально, вам просто нужно склеить их вместе. Для этого вы можете использовать javascript. Это expmaple запроса Ajax
$.ajax({
url: www.yoursite.com, //file you made to process the request
type: "GET", // or POST
success: function(data) {
if (data.success === 'ok'){
// code of what to do if the call returns ok
// probably update your options
}
},
error: function(exeption){
var response = jQuery.parseJSON(exeption.responseText);
alert(response.error);
// what to do if the process fail
}
Поэтому используйте php, чтобы make обработал запрос и вернул вам новые параметры. Если у вас появятся предложения по более конкретной части, сообщите нам об этом. Удачи