Как создать раскрывающийся список с php из таблицы sql И отобразить динамическое значение формы по умолчанию в раскрывающемся списке - PullRequest
1 голос
/ 30 марта 2019

Я создаю форму для пользователя, чтобы изменить демографические данные об участнике.Я хочу предоставить выпадающий список в форме HTML с PHP и отобразить значение по умолчанию на основе значения из таблицы.

Пример: изменение почтового индекса участника на основе раскрывающегося списка почтовых индексов, которые мы обслуживаем (текст не вводится, просто выберите из списка) И отображение текущего назначения почтового индекса участника по умолчанию.

<form>

<?php 
  // NOTE - geo meeting is equivalent to zipcodes
   $geo_locations = '<select name="geo1" id="geo1"> <option selected value="BAL"> Select new Location</option>';
     WHILE($row = mysqli_fetch_assoc($geomeetings))
                {
         $geo_locations .= ' <option value="'.$row['geo1'].'">'.$row['geoloc'].'</option>';
                }
         $geo_locations .= '</select>';
              echo '<TD>'.$geo_locations.'</TD>';
  // End of dropdown list of geo meeting locations -
?>

1 Ответ

0 голосов
/ 30 марта 2019

Итак, у вас есть таблица $ geomeetings, которая содержит ВСЕ почтовые индексы.У вас также есть другая таблица - таблица пользователей - в которой есть почтовый индекс для этого пользователя.

Не в манере и не проверено, но вы понимаете ...

<?php 
    // NOTE - geo meeting is equivalent to zipcodes
    $user_geo_loc = '12345'; //This value comes from the user table
    $geo_locations = '
        <select name="geo1" id="geo1">
            <option value=""> Select new Location</option>
    ';
    while( $row = mysqli_fetch_assoc($geomeetings) ){
        $issel = '';
        if ($user_geo_loc == $row['geoloc']) $issel = ' selected';
        $geo_locations .= ' <option value="'.$row['geo1'].'" ' .$issel. '>'.$row['geoloc'].'</option>';
    }
    $geo_locations .= '</select>';
  // End of dropdown list of geo meeting locations -
?>

<form>
    <table>
        <tbody>
            <tr>
                <td>
                    Location: <?php echo $geo_locations; ?>
                </td>
            </tr>
        </tbody>
    </table>
</form>

Обратите внимание, что эту структуру также можно заменить оператором TERNARY, который будет выглядеть следующим образом:

$issel = ($user_geo_loc == $row['geoloc']) ? ' selected' : '';

(Это будет читать,IF $user_geo == $row_geo THEN $issel = 'selected' ELSE $issel = '')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...