ОК, давайте начнем снова. Целью этого кода является обновление таблицы базы данных (db.aotm), в которую входят члены клуба, которые будут представлены в следующем году как «Артист месяца». Первая (html) таблица показывает список участников, которые квалифицируются как Художники Особенности. Их имена хранятся в массиве $ featuredArtist.
Далее, массив $ aotm заполняется текущим списком «month» и «member», которые содержатся в таблице db.aotm, они используются в качестве значений по умолчанию для формы.
Затем список данных заполняется именами из массива $ featuredArtist.
Проблема заключается в том, что при щелчке по полю «Ввод формы» в поле списка данных отображается только имя каждого исполнителя, а при любом выборе - только имя.
Я попытался использовать простую переменную вместо массива ogf в списке данных, но то же самое происходит, если $ name = "John Smith"; тогда только «Джон» отображается и вводится в поле ввода. Если я заменю мягкий список данных жестко закодированным, то он функционирует нормально. Таким образом, кажется, что любая переменная в списке данных служит только для первого слова.
Мой код:
<?php
echo '<div class="dbrd">
$query = " SELECT id, status, fullname FROM members ";
$result = mysqli_query($db, $query);
$i = 0;
while ($row = mysqli_fetch_assoc($result)) {
if (bitN($row[status],2) == 1 && $row[id] > 20){
$featuredArtist[$i]['id'] = $row['id'];
$featuredArtist[$i]['artist'] = $row['fullname'];
$i++;
}
}
?>
<div style="text-align:center;width:100%;">
<table style="width:100%;">
<thead>
<tr><th colspan="3">Featured Artists</th></tr>
</thead>
<tbody>
<?php
$j = 0;
while ($j < $i){
echo " <tr><td>".$featuredArtist[$j]['artist']."</td>";
$j++;
echo " <td>".$featuredArtist[$j]['artist']."</td>";
$j++;
echo " <td>".$featuredArtist[$j]['artist']."</td></tr>";
$j++;
}
?>
</tbody>
</table>
<br />
</div>
<?php
$query = "SELECT id, artist FROM aotm";
$result = mysqli_query($db, $query);
$k = 0;
while ($row = mysqli_fetch_assoc($result)) {
$aotm[$k]['id'] = $row['id'];
$aotm[$k]['artist'] = $row['artist'];
$k++;
}
$l = 0;
echo '<datalist id = "artist">';
while ($l < $i) {
$artist = $featuredArtist[$l]['artist'];
echo " <option value = ".$artist.">";
$l++;
}
?>
</datalist>
<form action = "" method = "POST">
<table style="width:100%;">
<tbody>
<tr><td>Jan</td><td><input type = "text" list = "artist" name="1" size = "45" ></td></tr>
<tr><td>Sept</td><td><input list = "artist" type = "text" name="2" value = "<?php echo $aotm[1]['artist'];?>" size = "45" /></td></tr>
<tr><td colspan="2"><input type = "submit" name = "aotm" value = "Save" /></td></tr>
</tbody>
</table>
</form>
</div>