Как извлечь данные из поля выбора в php и загрузить в базу данных?


Как я могу извлечь данные из поля параметров и загрузить выбранное поле параметров в базу данных?

<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. но там все то же самое. я не знаю, как получить выбранные данные.

Author: Stephen Docy, 2016-10-10

4 answers

Я не знаю вашей серверной части кода, но здесь вы пропускаете значения в полях опций. Это значение - то, что вы сохраняете в базе данных. Так что, если все остальное в порядке с вашим кодом, вы должны сделать что-то вроде этого:

            <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>
 2
Author: S.I., 2016-10-10 08:18:08

Вам просто нужно добавить атрибут name в поле <select> и добавить значение $i в поле <option> как:

<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>

Здесь я использую name='day' в теге <select> и value="<?=$i?>" в теге <option>.

То же, что и для полей YEAR и MONTH.

 3
Author: devpro, 2016-10-10 07:53:57

Здесь вам нужно изменить две вещи.

Во-первых, дайте имя <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, получите доступ к значению года в php-скрипте с помощью $_POST, а если это GET, то получите доступ к нему с помощью $_GET.

 3
Author: Alok Patel, 2016-10-16 18:22:54

Контрольные точки для получения значения образуют тег выбора

Если вам нужно извлечь данные из тега select, вы должны проверить следующие условия.

  1. Указали ли вы имя для тега select.
  2. Указали ли вы значение для полей параметров.

Если вы выполняете только два вышеперечисленных действия, вы можете извлечь или извлечь данные из тега 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'];
}
?>
 1
Author: Naresh Kumar .P, 2016-10-10 07:25:37