2016-09-29 104 views
0

我有一个很好的小数据输入表单,但有人问我是否可以将'name'字段作为用户的下拉框,而不必输入姓名并冒着拼写错误的风险 - 这是有道理的。 这对我来说是非常新颖的,并且关于这里和其他网站的一些信息,我试图完成第一部分..填充下拉框..不。没有错误,只是没有在框中。 为了解决这个问题,我使用了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 select只显示选项值。 – Keerthivasan

+0

**规则1:**不要盯着渲染的页面,**总是检查代码生成的HTML源代码**。 –

回答

0

我测试了一下你的代码,做了些许修改。这个对我有用。请检查您的数据库连接是否正常,因为我已在我的代码中完成。

<?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()以关联数组(包含键值对的数组)返回数据库中的结果原始数据。因此,$ rowNames被分配了这个数组,你可以通过key调用值作为$ rowNames ['txtName']并且做任何你需要的工作,比如打印,比较等等。因为我们循环,你可以从数据库中接收所有特定的值。 –

-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>"; 

?>