Как вставить значение в список из базы данных

Мне нужна помощь с моим кодом. Я выбираю данные из базы данных, поскольку я храню данные в $_SESSION массив. Теперь я хотел бы вставить данные в список, но у меня возникла проблема с вставкой данных в список.

Когда я пытаюсь это:

<select id="gender" name="gender" class="form-control" value='<?php echo htmlspecialchars($_SESSION["gender"]); ?>'>
<option value="unknown"></option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>

Он не будет вставлять данные в список, так как список показывает, что в список не было вставлено никаких данных.

Вот полный код:

<?php
// Initialize the session
session_start();

// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
//print_r($_SESSION);
?>

<select id="gender" name="gender" class="form-control" value='<?php echo htmlspecialchars($_SESSION["gender"]); ?>'>
<option value="unknown"></option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>

Вот что $_SESSION показ массива:

Array
(
[loggedin] => 1
[id] => 1
[username] => myusername
[firstname] => Robert
[lastname] => Jones
[email] => [email protected]
[gender] => Male
[states] => United Kingdom
)

Можете ли вы показать мне пример того, как я могу вставить данные в список с помощью php echo, что я извлекаю данные из $_SESSION массив?

Спасибо.

0

Решение

Я бы сгенерировал этот выбор через PHP

$html = '<select id="gender" name="gender" class="form-control">';
$values = array('unknown', 'Male', 'Female');
foreach($values as $v){
$selected = '';
if($v == 'unknown'){
$title = '';
}else{
$title = $v;
}
if($v == $_SESSION["gender"]){
$selected = "selected";
}
$html .= "<option $selected value='$v'>$title</option>";
}
$html .= "</select>";
echo $html;
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]