You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP实现两个下拉菜单的选择结果处理(无需JS)

纯PHP实现下拉菜单组合结果输出

当然可以不用JavaScript,纯靠PHP搞定这个需求!下面是具体的实现思路和代码示例:

1. 构建带表单的HTML页面

首先得把两个下拉菜单放在<form>标签里,指定提交方式为POST,这样PHP才能获取到用户选择的选项值。

<form method="POST" action="">
  <div>
    <label for="start">起点:</label>
    <select name="start" class="form-control" id="start">
      <option value="tank">Tank</option>
      <option value="armory">Armory</option>
      <option value="dept">Dept</option>
      <option value="comm">Comm</option>
      <option value="infirmary">Infirmary</option>
      <option value="depot">Depot</option>
    </select>
  </div>
  <div style="margin-top:10px;">
    <label for="finish">终点:</label>
    <select name="finish" class="form-control" id="finish">
      <option value="tank">Tank</option>
      <option value="armory">Armory</option>
      <option value="dept">Dept</option>
      <option value="comm">Comm</option>
      <option value="infirmary">Infirmary</option>
      <option value="depot">Depot</option>
    </select>
  </div>
  <button type="submit" style="margin-top:15px;">查看结果</button>
</form>

2. PHP处理逻辑

推荐用关联数组存储每个选项组合对应的预定义结果,比写一堆if-else语句更清晰易维护。当表单提交后,先获取两个下拉菜单的值,再匹配对应的结果输出。

<?php
// 预定义所有组合的结果,键为"起点-终点"的字符串
$results = [
    'tank-armory' => [
        'Tank' => 1,
        'Infirmary' => 1,
        'Dept Store' => 3,
        'Command' => 1,
        'Depot' => 2
    ],
    // 你可以继续添加其他组合,比如:
    'armory-tank' => [
        'Armory' => 2,
        'Tank' => 4
        // ...其他对应值
    ]
];

// 检查表单是否提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $start = $_POST['start'] ?? '';
    $finish = $_POST['finish'] ?? '';
    $key = "$start-$finish";

    // 检查当前组合是否有预定义结果
    if (isset($results[$key])) {
        echo "<div style='margin-top:20px;padding:10px;border:1px solid #ccc;'>";
        echo "<h3>计算结果:</h3>";
        foreach ($results[$key] as $location => $count) {
            echo "<p>$location -> $count</p>";
        }
        echo "</div>";
    } else {
        echo "<p style='margin-top:20px;color:#dc3545;'>抱歉,当前选择的组合还没有对应的结果配置哦!</p>";
    }
}
?>

3. 完整整合代码

把HTML和PHP放在同一个文件里,就能直接运行了:

<?php
$results = [
    'tank-armory' => [
        'Tank' => 1,
        'Infirmary' => 1,
        'Dept Store' => 3,
        'Command' => 1,
        'Depot' => 2
    ],
    // 按需添加更多组合
];

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $start = $_POST['start'] ?? '';
    $finish = $_POST['finish'] ?? '';
    $key = "$start-$finish";

    if (isset($results[$key])) {
        echo "<div style='margin-top:20px;padding:10px;border:1px solid #ccc;'>";
        echo "<h3>计算结果:</h3>";
        foreach ($results[$key] as $location => $count) {
            echo "<p>$location -> $count</p>";
        }
        echo "</div>";
    } else {
        echo "<p style='margin-top:20px;color:#dc3545;'>抱歉,当前选择的组合还没有对应的结果配置哦!</p>";
    }
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>游戏辅助脚本</title>
</head>
<body>
    <form method="POST" action="">
        <div>
            <label for="start">起点:</label>
            <select name="start" class="form-control" id="start">
                <option value="tank">Tank</option>
                <option value="armory">Armory</option>
                <option value="dept">Dept</option>
                <option value="comm">Comm</option>
                <option value="infirmary">Infirmary</option>
                <option value="depot">Depot</option>
            </select>
        </div>
        <div style="margin-top:10px;">
            <label for="finish">终点:</label>
            <select name="finish" class="form-control" id="finish">
                <option value="tank">Tank</option>
                <option value="armory">Armory</option>
                <option value="dept">Dept</option>
                <option value="comm">Comm</option>
                <option value="infirmary">Infirmary</option>
                <option value="depot">Depot</option>
            </select>
        </div>
        <button type="submit" style="margin-top:15px;">查看结果</button>
    </form>
</body>
</html>

小提示

  • 这种方式完全不需要JavaScript,所有逻辑都在服务器端通过PHP处理。
  • 你只需要在$results数组里不断添加新的起点-终点组合及其对应结果即可,扩展起来非常方便。
  • 表单提交后页面会刷新并显示结果,符合纯PHP的运行逻辑。

内容的提问来源于stack exchange,提问作者morwi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:02:27