2011-12-16 21 views
0

MySQLに接続してデータをドロップダウンに入力しようとしています。ここに私のコードです。何らかの理由でドロップダウンが入力されていません。提案してください。PHPフォームとドロップダウンのポピュレートの問題

ここにコードがあります。

<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

この部分:あなたはバックPHP層に文字列から脱出する必要があります

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

まだ動作しません。関数show_form($ errors = '')の上にドロップダウンコードロジックを移動すると、それは機能します。 – nav100

0

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

が有効ではありません、それはこのようなものでなければなりません。

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

そのようにあなたが作成している文字列要素を持つ変数のPHP値をconcatanateます。