2016-09-29 10 views
0

小さなデータ入力フォームがありますが、「名前」フィールドをドロップダウンボックスとして使用できるかどうか尋ねられました。名前をつけてスペルミスを犯す危険性があります。 これは私にはかなり新しく、ここや他のサイトに関するいくつかの情報に続いて、最初の部分を達成しようとしました。エラーはなく、ボックスには何も表示されません。 これを行うにはtblStaffNames(userID、txtName)がありますデータがドロップダウンで表示されないmysqli

私が使用しているコードは次のようになります。

<?php 
include("connect-db.php"); 
$queryNames = "SELECT txtName FROM tblStaffName"; 
$resultNames = $conn->query($queryNames); 
?> 

<select name="personname"> 
<?php 
while ($rowNames = $resultNames->fetch_assoc()) { 
    echo "<option value=\"{$rowNames['txtName']}\">"; 
    echo $rowNames['txtName']; 
    echo "</option>"; 
} 
?> 
</select> 

ザ・$ CONN私はtblStaffNames含めて、データベースからテーブル内のデータを表示することができ、別のページにあるように、すべて良いです - 私は、接続の問題の任意の並べ替えを排除することができます。

ページを実行すると、小さなドロップダウンボックスが表示されますが、非常に単純ですが、値はありません。

私はこのような値をデータ入力フォームの一部として使用して終了します。

<td><select name="personname" style="width:100px" ><?php echo $RowNames; ?></select></td> 

しかし、実際にデータを表示することはできません。

私がここで間違っていることを誰かが助けてくれますか?

+0

htmlは、オプション値のみを表示します。 – Keerthivasan

+0

**ルールNo.1:**レンダリングされたページを注視しないでください。**あなたのコードで生成された** HTMLソース**を常にチェックしてください。 –

答えて

0

コードを少し変更してテストしました。わたしにはできる。自分のコードで行ったように、DB接続が正常であることを確認してください。

<?php 

    $servername = "localhost"; 
    $username = "user"; 
    $password = "password"; 
    $dbname = "staff_db"; 

    $conn = new mysqli($servername, $username, $password, $dbname); 

    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 

    $queryNames = "SELECT txtName FROM tblStaffName"; 
    $resultNames = $conn->query($queryNames); 


    //Generating the Dropdown 
    echo "<select name=\"personname\">"; 
    while ($rowNames = $resultNames->fetch_assoc()) { 
     echo "<option value=\"{$rowNames['txtName']}\">"; 
     echo $rowNames['txtName']; 
     echo "</option>"; 
    } 


    echo "</select>"; 

?> 
+0

今、うまくいきました。接続にエラーがあったと思います。 txtNameから選択した値が$ rowNamesに格納されていることを理解していますか?私はテーブルにその価値を書くことができます。助けてくれてありがとう。 – Stevenls

+0

@Stevenls $ resultNames-> fetch_assoc()は結果の生を連想配列(キー値のペアを持つ配列)としてDBから返します。 $ rowNames ['txtName']とキーで値を呼び出すことができます。印刷、比較などの必要な処理を行います。ループするので、DBから特定の値をすべて受け取ることができます。 –

-1

は私がより良く理解するために、私はこの

$queryNames = "SELECT userID,txtName FROM tblStaffName"; 
$resultNames = $conn->query($queryNames); 
?> 

<select name="personname"> 
<?php 
while ($rowNames = $resultNames->fetch_assoc()) { 
?> 
    <option value="<?php echo $rowNames['userID']; ?>"> 
    <?php echo $rowNames['txtName']; ?> 
    </option> 
<?php 
} 
?> 
</select> 
-1

次のコードスニペットのようなコードを私の作品に変更何あなたの誤差が、知りません。

<?php 

    $servername = "localhost"; 
    $username = "user"; 
    $password = "password"; 

    //DB Server Connection 
    $conn = mysql_connect($servername, $username, $password) or die("Connection establishment failed"); 

    //DB Selection 
    $selected = mysql_select_db("staff_db", $conn) or die("Could not select DB"); 

    //Query String 
    $queryNames = "SELECT txtName FROM tblStaffName"; 

    //Query the DB 
    $resultNames = mysql_query($queryNames); 

    //Generating the Dropdown 
    echo "<select name=\"personname\">"; 
    while ($rowNames = mysql_fetch_array($resultNames)) { 
     echo "<option value=\"{$rowNames['txtName']}\">"; 
     echo $rowNames['txtName']; 
     echo "</option>"; 
    } 


    echo "</select>"; 

?> 
関連する問題