如何在php中显示有关所选选项下拉列表的详细信息

时间:2014-10-20 11:34:25

标签: php

我有一个使用codeigniter框架开发的项目。

我有一个所有国家的下拉列表。

当用户从下拉列表中选择一个国家/地区时,我需要显示有关该特定国家/地区的信息...

我该怎么做?

3 个答案:

答案 0 :(得分:2)

无论您使用哪种框架,我建议您这样做:

  1. 使用您所在国家/地区参数的输入,开发一个服务器端PHP脚本,该脚本使用有关所选国家/地区的信息进行响应。
  2. 当您在UI中的onChange中触发<select>事件时,触发一个AJAX调用,获取服务器端PHP脚本的响应并将其显示在<div>或某些区域中。 UI。
  3. 如果允许您使用jQuery,这可以变得简单。为ID代码添加<select>

    <select id="countries">
        <!-- Options populated by php -->
    </select>
    

    当您执行onChange事件时,请绑定以下函数:

    $("#countries").change(function(){
        countryValue = $(this).val();
        $.ajax("countries-info.php", {country: countryValue}, function(message){
            $("#countryInfo").html(message);
        });
    });
    

    最终,您的HTML应该具有与此类似的结构:

    <select id="countries">
        <!-- Options populated by php -->
    </select>
    <div id="countryInfo"></div>
    

    在你的countries-info.php中,你应该有这样的东西:

    <?php
        $country = clean($_GET["country"]);
        // Connect to the DB
        databaseConnect($username, $password, $database);
        $results = $databaseObject->query("SELECT `info` FROM `countries` WHERE `country`='$country'");
        $countryInfo = $results["info"];
        die($countryInfo);
    ?>
    

    以上是您需要做的伪代码:

    • clean()用于清除任何SQL注入的响应。如果您使用MySQL,则可以使用类似mysqli_real_escape_string()的内容。
    • databaseConnect()用于连接数据库服务器并选择数据库。
    • $databaseObject是数据库连接对象。
    • $databaseObject->query()函数在数据库服务器上执行查询,并根据国家/地区获取一行。

    希望这能引导你朝着正确的方向前进!

答案 1 :(得分:0)

您可以使用.change()在JQuery中执行此操作。

每次更改国家/地区时都会触发此操作,您需要获取国家/地区名称,然后显示所需信息。

如果您想使用vanilla JS,可以使用onChange

答案 2 :(得分:0)

这不能单独使用PHP,如果“有关该特定国家/地区的信息”来自后端,则需要JavaScript(example)和AJAX。将更改侦听器添加到下拉列表中,如果它触发,则相应地更新HTML。