2011-12-16 3 views
0

Я пытаюсь подключиться к MySQL и заполнить данные в раскрывающемся списке. Вот мой код. Выбросы некоторых причин не заполняются. Пожалуйста, предложите.PHP form и populate issue

Вот код.

<html> 
<body> 

<?php 
$mysqli_connection = new mysqli($db_host, $db_username, $db_password, $db_database); 
if (isset($_POST['Submit_1'])) { 
    require 'submit.php'; 
    require 'validate.php'; 
    if ($form_errors = validate_form()) { 
     show_form($form_errors); 
    } 
    else 
    { 
     form_submit_1(); 
    } 
} 
else 
{ 
    show_form(); 
} 
function show_form($errors = '') 
{ 
    // were there any errors? 
    if ($errors) { 
     //show errors 
    } 

    ?> 
<form name="myForm" id="myForm" method="post"> 
    <?php 
    $sql = "SELECT id, code FROM table1"; 
    $result11 = $mysqli_connection->query($sql); 
    echo " <select name = \"state1\" id=\"state1\">"; 
    while ($row = $result11->fetch_assoc()) { 
     echo "<option value = $row[id]>$row[code]</option>"; 
    } 
    echo "</select>"; 
    ?> 
</form> 
    </body> 
</html> 
<?php 
} // End of show_form() 
?> 

ответ

4

Эта часть:

echo "<option value = $row[id]>$row[code]</option>"; 

не действительны, это должно быть что-то вроде этого:

echo "<option value=\"{$row['id']}\">{$row['code']}</option>"; 
+0

Он все еще не работает. Если я перемещаю логику выпадающего кода над функцией show_form ($ errors = ''), она работает. – nav100

0

Вы должны будете бежать из строки обратно в PHP слой.

echo "<option value=\"".$row['id']."\">".$row['code']."</option>"; 

Таким образом, вы сориентируете значение PHP переменных со строковыми элементами, которые вы создаете.