Datalist только отображает и обслуживает 1-е слово - PullRequest
0 голосов
/ 02 мая 2019

ОК, давайте начнем снова. Целью этого кода является обновление таблицы базы данных (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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...