如何从 php 中的 select 字段中获取数据并加载到数据库中?

How to fetch data from an select field in php and load into database?

如何从选项字段中获取数据并将所选的选项字段加载到数据库中?

<div class="form-group col-md-5">
                <label class="control-label">Date of birth:*</label>
                <div class="form-group">
                    <div class="col-md-4">
                        <select type="text" class="form-control" id="day" >
                            <option>--Day--</option>
                            <?php
                               $day = array(range(1,31));
                                for ($i = 1; $i <= 31; $i++) {
                                    echo "<option name='day'>".$i."</option>";
                                }
                            ?>
                        </select>
                    </div>
                    <div class="col-md-4">
                        <select type="text" class="form-control" id="month">
                            <option>--Month--</option>
                            <?php
                                for ($i = 1; $i <= 12; $i++) {
                                    echo "<option name='month'>".$i."</option>";
                                }
                            ?>
                        </select>
                    </div>
                    <div class="col-md-4">
                        <select type="text" class="form-control" id="year">
                            <option>--Year--</option>
                            <?php
                                for ($i = 1900; $i <= 2016; $i++) {
                                    echo "<option name='year'>".$i."</option>";
                                }
                            ?>
                        </select>
                    </div>
                </div>
            </div>

我知道我可以使用 https://eonasdan.github.io/bootstrap-datetimepicker/ 因为我使用 bootstrap。但它是一样的。我不知道如何获取选择的数据。

您只需要在 <select> 框中添加名称属性并在 <option> 中添加 $i 值作为:

<select type="text" class="form-control" id="day" name='day'>
<option>--Day--</option>
<?php
$day = array(range(1,31));
for ($i = 1; $i <= 31; $i++) {
?>
<option value="<?=$i?>"><?=$i?></option>
<?php
}
?>
</select>

这里我在<select>标签中使用name='day',在<option>标签中使用value="<?=$i?>"

YEARMONTH 字段相同。

从 Select 标签中获取价值的检查点

如果您需要从 select 标签中提取数据,您必须检查以下条件。

  1. 您是否提供了 select 标签的名称。
  2. 您是否为选项字段提供了值。

如果是这样你单独做上面两个你可以从select标签中取出或拉出数据。

示例:

Select 标签:带有名称和选项值

<select name="age">
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>

然后在PHP中可以这样取出数据

<?php
if(isset($_POST['age'])
{
  echo $_POST['age'];
}
?>

你需要在这里改变两件事。

首先,将名称命名为 <select> 而不是 <option>

其次设置 <option> 的值属性以获取所选选项的值。

所以您编写的选择框代码将如下所示,

<select type="text" class="form-control" id="year" name="year">
    <option>--Year--</option>
    <?php
        for ($i = 1900; $i <= 2016; $i++) {
            echo "<option value='".$i."'>".$i."</option>";
        }
    ?>
</select>

现在,如果表单方法是 POST,则使用 $_POST 访问 php 脚本中的年份值,如果它是 GET,则使用 $_GET 访问它。

我不知道你的服务器端代码部分,但你在这里缺少选项字段的值。该值是您保存在数据库中的值。因此,如果您的代码其他一切正常,您应该做这样的事情:

            <label class="control-label">Date of birth:*</label>
            <div class="form-group">
                <div class="col-md-4">
                    <select name="day" type="text" class="form-control" id="day" >
                        <option>--Day--</option>
                        <?php
                           $day = array(range(1,31));
                            for ($dayOfBirth = 1; $dayOfBirth <= 31; $dayOfBirth++) {
                                echo '<option  value="'.$dayOfBirth.'">"'.$dayOfBirth.'"</option>';
                            }
                        ?>
                    </select>
                </div>
                <div class="col-md-4">
                    <select name="month" type="text" class="form-control" id="month">
                        <option>--Month--</option>
                        <?php
                            for ($monthOfBirth = 1; $monthOfBirth <= 12; $monthOfBirth++) {
                                echo '<option  value="'.$monthOfBirth.'">"'.$monthOfBirth.'"</option>';
                            }
                        ?>
                    </select>
                </div>
                <div class="col-md-4">
                    <select name="year" type="text" class="form-control" id="year">
                        <option>--Year--</option>
                        <?php
                            for ($yearOfBirth = 1900; $yearOfBirth <= 2016; $yearOfBirth++) {
                                echo '<option  value="'.$yearOfBirth.'">"'.$yearOfBirth.'"</option>';
                            }
                        ?>
                    </select>
                </div>
            </div>