在由另一个select的更改触发的数据库中的查询之后更改select的值

时间:2014-10-16 14:53:43

标签: php mysql ajax

我有一张有两个选择的表格, 选择1和选择2,它们都填充了mysql数据库中的选项,这些选项具有关系。 ej:选择1 =汽车模型     选择2 =汽车品牌 当我选择一个模型时,ej:焦点我需要将当前品牌改为福特。 福特和焦点之间存在的关系在数据库中给出, 我怎么能问数据库并用数据库的响应改变选择值?我试过了 http://www.w3schools.com/php/php_ajax_database.asp该教程但我不知道如何修改它以返回打印结果的值。

真实案例:

数据库: 表名:Region(id_region,nombre_region) 表名:Provincia(nombre_provincia,id_provincia,id_region)

表格:

...

  <label>Region: </label>
  <select name="region" id="region">
  <?php include('lista_region.php'); ?> //this makes the list asking the database, works fine.
  </select>

  <label>Provincia: </label>
  <select name="provincia" id="provincia" onchange="HERE_I_NEED_HELP()">
  <?php include('lista_provincia.php'); ?> //this makes the list asking the database, works fine.
  </select>

在“HERE_I_NEED_HELP()”中我需要从数据库中选择id_region,其中“provincia”的值与DB中的值匹配,然后将“region”的值更改为我刚刚从中获取的值DB,

1 个答案:

答案 0 :(得分:0)

好吧,我为解决问题所做的是调用web服务的calla函数(这处理服务器并返回带有答案的json),然后使用该返回我将其更改为新值,该函数执行魔术:

  <script>
  function buscarregion(){
  var oReq = new XMLHttpRequest();
  oReq.onload = function () {
        var resultado = JSON.parse(this.responseText);
        document.getElementById("region".value = reulstado.data;
  };
  var service = "webservice.php?param="
  var x = document.getElementById("provincia").value
  x = web.concat(x);
  oReq.open("get", x, true);
  oReq.send();
  }

多数民众赞成!!网络服务使用param发送x进行搜索并返回我想要的值,然后将其打印在&#34; region&#34;中,希望这可以帮助有同样问题的人。 thx的评论。

ps:buscarregion()取代了HERE_I_NEED_HELP()