首页 > 解决方案 > 如何使用 HTML 列表框和 SQL 代码显示表格中的某些列?

问题描述

美好的一天,我有以下要求:一个有 2 列的表:国家和资本。该表包含世界上每个国家的每个首都。有一个列表框,我可以在其中选择国家,它只会显示该国家的首都。

我用 HTML 创建了一个列表框,让我可以选择一个国家:

< select> <br>
< option Country = "Brasil"> Brasil < /option> <br>
< option Country = "... "> .. < /option> <br>
< /select> </br>


如何使用该 HTML 列表框中的国家/地区显示首都?我正在考虑为每个首都创建一个选项,但是我需要超过 120 个if案例。(在 SQL 中)

标签: htmlmysqlsql

解决方案


您可以生成选择表单:

<?php 
$req = $pdo->query('SELECT * FROM table');
$rep = $req->fetchAll(); ?>
<select>
foreach($rep as $row) { ?>
  <option value="<?= $row['country'] ?>"><?= $row['country'] ?></option>
<? } ?>
</select>
<?php foreach($rep as $row) { 
  <input style="display:none" id="<?= $row['country'] ?>" value="<?= $row['capital'] ?>" />
<?php } ?>

因此,您将拥有所有国家/地区的选择,以及每个首都的输入,其国家/地区作为 id,因此您可以使用 javascript 显示它:(jQuery 示例)

<script>
$('select').change(function() {
  $('input:visible').toggle(); 
  $('input[id='+$(this).val()+']').toggle();
});
</script>

推荐阅读