здесь я пытаюсь получить данные в combobox из базы данных, в которой у меня есть таблица 10. У меня есть два поля со списком, в первом ящике я назвал опцию из базы данных, которая будет первой таблицей и опцией, например a, b, c, d. Теперь, когда я выбираю «a» в первом поле, он должен вызывать соответствующее значение через php, и это значение будет получено из другой таблицы, и в обеих таблицах нет ничего общего. То же самое, что и при выборе «b», это вызовет другое значение из третьей таблицы.как извлечь несколько таблиц значение базы данных в динамический блок выбора
Так вот, я пытался с условием if else, но я могу получить выход. кто-нибудь, пожалуйста, улучшите ошибку jquery, и в этом случае я должен соответствовать ее состоянию.
вот мой код HTML страницы
<html>
<body>
<select id="a1_title">
</select>
<select id="a2_title">
</select>
<script src="jquery-2.0.3.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$.getJSON("drpdwn.php", success = function(data){
var items="";
for(var i = 0; i< data.length; i++){
items +="<option value='"+ data[i].toLowerCase() +"'>" + data[i] +"</option>";
}
$("#a1_title").append(items);
$("#a1_title").change();
});
$("#a1_title").change(function(){
if(data.length == 1) // here i have tried to match the condition from ID but it doesn't work
{
alert("b");
$.getJSON("lulc_db.php",success = function(data){
alert("okay");
var items="";
for(var i = 0; i< data.length; i++){
items+="<option value='"+data[i].toLowerCase()+"'>"+data[i]+"</option>";
}
else if(data.length == 2)
{
alert("b");
$.getJSON("soil_db.php",success = function(data){
alert("okay");
var items="";
for(var i = 0; i< data.length; i++){
items+="<option value='"+data[i].toLowerCase()+"'>"+data[i]+"</option>";
}
$("#a2_title").append(items);
});
}
});
});
</script>
</body></html>
Это drpdown.php страница .Это значение страница будет успешно идет в первом окне выбора.
<?php
$host = "localhost";
$user = "postgres";
$pass = "admin";
$db = "Querybuilderdb";
$con = pg_connect("host=$host dbname=$db user=$user password=$pass")
or die ("Could not connect to server\n");
$query = "SELECT id, name FROM tab";
$result = pg_query($con, $query);
if(pg_num_rows($result)){
$data=array();
while($row=pg_fetch_array($result))
{ array_push($data, $row["name"]);
}
echo json_encode($data);
}
?>
Здесь lulc_db.php .Эта страница значение должно прийти второе выбрать box.Same, как это у меня есть 8 другой страница PHP, который я показать на второй ComboBox.
<?php
require "config.php";
$query = "SELECT distinct level_1 FROM pachgaon_LULC";
$result = pg_query($con, $query);
if(pg_num_rows($result)){
$data=array();
while($row=pg_fetch_array($result))
{ array_push($data, $row["level_1"]);
}
echo json_encode($data);
}
?>
Благодаря передовой :)
Вам может понадобиться вложенный цикл 'for'. См. Эту статью [post] (http://stackoverflow.com/questions/800593/loop-through-json-object-list) при переходе через json. Рассмотрим пары ключ/значение в объекте js: '$ .each (data, function (key, val) {...})' – Parfait
Я не могу применить цикл, потому что результат, который я хотел, мог произойти только путем выбора значения и затем он вызовет php-страницу и извлечет результат во второй комбинированный блок. – ads
Получите некоторое представление от ответа на вопрос. http://stackoverflow.com/questions/11451150/create-dynamic-combobox-using-php-and-onselection-change-values-of-another-dynam .hope это помогает .. :) – aimme