PHP和MySQL-使用数组填充选择下拉列表

时间:2019-01-04 06:49:45

标签: php mysql arrays

我正在尝试使用另一页上的数组填充下拉列表,所以这是我需要填写的下拉列表,选择国籍列表,到目前为止,我已经获得了一系列民族列表,但是我无法填充阵列上的选择框。

在我的fetch.php

我有

<?php include('nationality.php') ?>

<select id="register-nationality" name="registerNationality" required data-msg="Please select your Nationality" class="form-control">

                    <option>Select Nationality</option>

                    <?php 

                    foreach ($nationality as $national) {
                      echo "<option value='$nationals'>$nationals</option>";  
                    }

                     ?>

                  </select> 

nationality.php中,这是我获得的国籍列表,它是一个数组。

因此,这里的代码示例太长,因此我将为您提供示例

    <?php 

$nationals = array(
        'Afghan',
        'Albanian',
        'Algerian',
        'American',
        'Andorran',
        'Angolan',
        'Antiguans',
        'Argentinean',
        'Armenian',
        'Australian',
        'Austrian',
        'Azerbaijani',
        'Bahamian',
        'Bahraini',
        'Bangladeshi',
        'Barbadian',
        'Barbudans',
..
..
..  and so on

);

 ?>

所以什么也没显示。

2 个答案:

答案 0 :(得分:1)

将include语句更改为:include_file "nationality.php";

您的array的名字是$ nationals。您不能使用$nationality,因为它不存在。

将代码更改为以下内容:

foreach($nationals as $national){
    echo "<option value='$national'>$national</option>";
}

答案 1 :(得分:0)

您的foreach变量为$nationals,而不是$nationality。您使用了$nationals(未定义)。您的变量名称为$national。在您的循环中更改为echo "<option value='$national'>$national</option>";

$nationals = array(
    'Afghan',
    'Albanian',
    'Algerian',
    'American',
    'Andorran',
    'Angolan',
    'Antiguans',
    'Argentinean',
    'Armenian',
    'Australian',
    'Austrian',
    'Azerbaijani',
    'Bahamian',
    'Bahraini',
    'Bangladeshi',
    'Barbadian',
    'Barbudans',
);

foreach ($nationals as $national) {
  echo "<option value='$national'>$national</option>";  
}