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


How to display the details about the selected option of drop down list in php

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

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

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

我该怎么做?

我建议你这样做,不管你使用什么框架:

  1. 开发一个服务器端PHP脚本,该脚本通过输入您的国家参数来响应所选国家的信息
  2. 当您在UI的<select>中触发onChange事件时,激发AJAX调用以获取服务器端PHP脚本的响应,并将其显示在<div>或UI的某个区域中

如果允许您使用jQuery,这可以变得简单。为您的<select>标签设置一个ID

<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()函数在数据库服务器上执行查询,并根据国家获取一行

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

例如,您可以在JQuery中使用.change().来执行此操作

这将触发每次您更改国家/地区时,您需要获得国家/地区名称,然后显示所需信息。

如果你想使用vanillaJS,你可以使用onChange。

这不能仅用PHP完成,如果"关于特定国家的信息"来自后端,则需要JavaScript(例如)和AJAX。在下拉列表中添加一个更改侦听器,如果它触发,则相应地更新HTML。