2016-08-22 37 views
-2

我试图用数据库中的值作出下拉列表,但是当我尝试测试值是否被带入时,我什么都没有。HTML/PHP选择拒绝存储值

<select name = "student_id"> 
<option value="" >choose student</option> 
<?php 
require_once('../mysqli_connect.php'); 
$getnames = @mysqli_query($dbc, "SELECT student_id, first_name, last_name FROM students"); 

while ($row = mysqli_fetch_array($getnames)) 
{ 
?><option value = "<?php echo $row['student_id']; ?>"> 
<?php echo $row['student_id'] . ' ' .$row['first_name'] . ' '. $row['last_name']; 
?></option>"; <?php 
} 
?> 
</option> 
</select> 

名单似乎都很正常,显示了学生证,名字和数据库中的所有条目的姓氏,但是当我测试这个

$studentid = trim($_POST['student_id']); 

echo $studentid; 

require_once ('../mysqli_connect.php'); 
?> 

采取的价值和它不会返回任何东西。一切似乎与其他列表,我没有使用任何循环,只是键入了每个选项,但我找不到问题在循环中。

对不起,这个可怕的问题。

+1

''option value =“<?php $ row ['student_id'];?>”>'你忘了回应它。所以你实际得到的是'选项值=“”>'无处不在。 – Qirel

+0

你试过取出你的if(isset($ _ POST ['submit']))有条件吗?从你展示的代码中,我没有看到会有发送的提交参数。 –

+0

@Qirel我试过了,回声没有改变任何东西 – TerribleCodeMan

回答

4
?><option value = "<?php $row['student_id']; ?>"> 
         ^---missing echo 

如果你做过任何基本的调试,就像你生成的html的view source,你会看到,所有的选项值是空的......

所以,不,它不是该选项拒绝存储值。它的行为完全符合您的要求:向服务器发送空白/空白值。

+0

你可以补充一点,他可以使用短回波标签'' – Phiter

+1

如果OP找不到“丢失回声”,那么OP应该重新考虑他们的职业选择...... –

+0

我试过添加回声,但它会返回空值无论哪种方式 – TerribleCodeMan