如何从数据库中显示两个相关的选择标记值

时间:2014-06-22 05:17:10

标签: php html mysql

最简单的示例是当您从选择标记中选择国家/地区时,另一个选择标记将根据所选国家/地区自动显示城市/州。

3 个答案:

答案 0 :(得分:2)

您需要使用javascript或jquery

这里是一个jquery的例子:

在你的js文件中:

$("#product").on("change",function(){
    var temp = $(this).val();

    if(temp != ''){
     $.ajax({
            type: "POST",
            data: "product="+temp+",
            dataType: "JSON",
            url: "ajax.php",
            success: function(data){
             output city here
     })

答案 1 :(得分:0)

基本上这不仅仅是php。在大多数情况下,它与JavaScript和AJAX有关。

至少如果你想在没有重新加载的情况下发生这种情况。

最简单的方法是在第一次选择更改后自动在表单上执行提交。并执行MySQL查询和循环以输出select 2中的相应值。 使用AJAX,它可以运行得更顺畅,因为它不依赖于重新加载。

您还可以在浏览器内的json对象中存储所有需要的数据,并在需要时重建select。可能是最简单的方法。

上面提到的所有解决方案都需要某种方式的JavaScript

答案 2 :(得分:0)

您将从原始页面上的两个选择标记,国家/地区框和状态框开始。一旦选择了一个国家,即javascript事件发生变化,那么你想要发起一个ajax请求。 ajax请求会将国家/地区ID发布到新的php文件,php文件将使用县ID通过mysql查找该国家/地区的状态。然后它将返回请求,您将创建状态选择框。 ORDER BY name,包含状态id的值。

然后,您回显此选择框,并通过ajax调用将此数据恢复到原始页面。插入它以替换先前的去激活状态框,并确保它现在已激活。

如果刷新页面,则此状态选择框将恢复为取消激活,除非您有一个也通过ajax设置的会话,例如$ _SESSION [' country'],原始页面会首先检查此设置是否显示所选国家/地区以及相应的状态。