2014-12-04 4 views
0
<?php 
require ("init.php"); 

?> 
<head> 
<script src="ajax.js"></script> 
<script src="common.js"></script> 
</head> 
<body> 
<?php 
$query = "SELECT * FROM User1"; 
$result = mysqli_query($connection, $query); 
echo '<form> '; 
echo "Select a Users:"; 
echo '<select name="users" onchange="showUser(this.value)">'; 
while ($row=mysqli_fetch_assoc($result)){ 
    echo $row=['Username']; 
    echo '<option value="'.$row=['Username'].'">'.$row=['Username'].'</option>'; 
} 
echo '</select></form>'; 
?> 

<div id="txtHint"><b>User info will be listed here.</b></div> 

</body> 

проблема, с которой я сталкиваюсь, заключается в том, что выпадающее поле показывает только массив несколько раз и не отображает имена пользователей из моей базы данных, однако соединение с моей базой данных работает, когда при попытке отладки оно получило эхо из только одно имя пользователяPHP Ajax drop down box

ответ

1

IT должно быть так:

while ($row=mysqli_fetch_assoc($result)){ 
    //echo $row=['Username']; //Invalied here 
    echo '<option value="'.$row['Username'].'">'.$row['Username'].'</option>'; 
} 

Нет необходимости что = знак.

0

Правильно:

echo $row=['Username'];// This is unnecessary. 
echo '<option value="'.$row=['Username'].'">'.$row=['Username'].'</option>';// what is = doing here? 

Кому:

echo '<option value="'.$row['Username'].'">'.$row['Username'].'</option>'; 
+0

'$ строки = [ 'Имя пользователя']' это присвоить массив переменной $ строк. – vaso123

+0

'$ row = ['Username']' здесь некорректно. –