2013-03-19 2 views
0

Я создал серию веб-страниц, которые создают пользователей в базу данных sql, другая страница ищет всех этих пользователей, тогда их нужно показать в выпадающем списке для другого ввода базы данных. При вызове php-файла и использовании эха для печати массива он отлично работает, но когда я помещаю его в свой html-файл, выпадающее меню просто отображает «$ username_array [] =« \ »». $ Row ['Username'] «» \», как только я считаю, его что-то делать с вылетающими кавычками, однако не может понять это любая помощь будет очень признателен !!Отображение php-массива в выпадающем списке html

Это код проводится в HTML файл

<?php 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = ''; 
$db = 'fid'; 

echo "<label class=\"input\" for=\"investigator\" type=\"input\">Investigator:<select id=\"investigator\" name=\"investigator\">"; 

$conn = mysql_connect($dbhost,$dbuser,$dbpass); 
if (!$conn) 
die('Could not connect: ' . mysql_error()); 

mysql_select_db($db); 

$username_array = array(); 
$sql = mysql_query("SELECT `Username` FROM `user`"); 
while ($row = mysql_fetch_array($sql)){ 
//echo $username_array[] = "\"".$row['Username']."\""; 
echo "<option value='null'>"$username_array[] = "\"".$row['Username'].""\"</option>"; 
} 
echo "</label>"; 

mysql_close($conn) 
?> 

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

UPDATE

Я теперь изменил код этого

<?php 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = ''; 
$db = 'fid'; 

$conn = mysql_connect($dbhost,$dbuser,$dbpass); 
if (!$conn) 
die('Could not connect: ' . mysql_error()); 

mysql_select_db($db); 

echo '<select id="investigator" name="investigator">'; 
$resource = mysql_query("SELECT `Username` FROM `user`"); 
if($resource && mysql_num_rows($resource)) { 
    while ($row = mysql_fetch_assoc($resource)){ 
     echo '<option value="'.$row['Username'].'">'.$row['Username'].'</option>'; 
    } 
} 
echo '</select>'; 
mysql_close($conn) 
?> 

однако HTML выводит сценарий, а не выпадающий список и имена пользователей

HTML выход

«; $ resource = mysql_query ("SELECT Username FROM user"); if ($ resource & & mysql_num_rows ($ resource)) {while ($ row = mysql_fetch_assoc ($ resource)) {echo ''; }} echo ''; mysql_close ($ conn)?>

любая помощь будет вызвана. Мне просто нужно, чтобы эта работа работала, поскольку она прослушивала меня в течение нескольких дней!

+0

Является ли этот код прямой копией? или какие-то проблемы с копией? – cernunnos

ответ

0

Я бы изменить свой код на нечто похожее на это:

echo "<select>"; 
while ($row = mysql_fetch_array($sql)) { 
    echo "<option value=\"VALUE\">".$row['Username']."</option>"; 
} 
echo "</select>"; 
1

Это будет делать то, что вам нужно

echo '<select id="investigator" name="investigator">'; 
$resource = mysql_query("SELECT `Username` FROM `user`"); 
if($resource && mysql_num_rows($resource)) { 
    while ($row = mysql_fetch_assoc($resource)){ 
     echo '<option value="'.$row['Username'].'">'.$row['Username'].'</option>'; 
    } 
} 
echo '</select>'; 

НО вы должны также перейти к Mysqli или PDO, как mysql_ * амортизируется

Я изменил $ sql на $ resource, поскольку это не оператор SQL, а ресурс.

+0

Я опустил '