2013-02-15 119 views
1

我在填写表单中的选择框以显示来自“护士”表的护士的现有“姓名”时存在困难。谁能告诉我我做错了什么?提前致谢!用php mysql填充选择框

这里是形式

<form method="post" action="insert.php"> 
<br> 
<tr><td align="left"><strong>Nurse Information</strong></td> 
</td> 
<tr> 
<td>nurse_name</td> 
     <td><select name="valuelist"> 
    <option value="valuelist" name="nurse_name" value='<?php echo $nurse_name; ?>'></option> 

</select></td> 
<tr> 

应该填充nurse_forename查询:

<html><head><title>Connect to Database</title></head><body> 
<font size="4">Query gets Forename of nurse</font> 
<br><br><font size="4">Choose a name</font><br><br> 

<form action="insert.php" method="post"> 
<select name="valuelist">; 
<?php 
$value=$_POST ["valuelist"]; 
$con = mysql_connect("localhost","root","") or die('Could not connect: ' . mysql_error()); 
mysql_select_db("a&e", $con) or die('Could not select database.'); 

$fetch_nurse_name = mysql_query("SELECT DISTINCT $nurse_name FROM nurse"); 
$result = mysqli_query($con, $query) or die("Invalid query"); 

while($throw_nurse_name = mysqli_fetch_array($fetch_nurse_name)) { 
echo '<option value=\"'.$nurse_name['nurse_name'].'">'.$throw_nurse_name['nurse_name'].'</option>'; 
} 
echo "</select>"; 

mysqli_close($con); 
?> 
<input type="submit" value="Submit"> 
</form></body></html> 
+0

你会得到什么错误? – d4rkpr1nc3 2013-02-15 13:00:54

+0

没有错误,只是一个空白的选择框,这是相当令人沮丧的! – user2075528 2013-02-15 13:03:36

+0

我想它不是'$ nurse_name',而是'nurse_name',在你的选择查询中 – d4rkpr1nc3 2013-02-15 13:04:40

回答

1

试试这个:

<html><head><title>Connect to Database</title></head><body> 
<font size="4">Query gets Forename of nurse</font> 
<br><br><font size="4">Choose a name</font><br><br> 

<form action="insert.php" method="post"> 
<select name="valuelist">; 
<?php 
$value=$_POST ["valuelist"]; 
$con = mysql_connect("localhost","root","") or die('Could not connect:'.mysql_error()); 
mysql_select_db("a&e", $con) or die('Could not select database.'); 

$fetch_nurse_name = mysql_query("SELECT DISTINCT Forename FROM nurse"); 


while($throw_nurse_name = mysql_fetch_array($fetch_nurse_name)) { 
echo '<option value=\"'.$throw_nurse_name[0].'">'.$throw_nurse_name[0].'</option>'; 
} 
echo "</select>"; 


?> 
<input type="submit" value="Submit"> 
</form></body></html> 

不使用mysql和mysqli的一起....你应该使用mysqli或PDO,但不能混合使用;) PS:已编辑;)

Saludos。

+0

它仍然是一个空白的选择框。这令人沮丧! – user2075528 2013-02-15 13:19:22

+0

这已解决...我只是改变$ fetch_nurse_name = mysql_query(“SELECT DISTINCT $ nurse_name FROM nurse”); to $ fetch_nurse_name = mysql_query(“SELECT DISTINCT Forename FROM nurse”); – user2075528 2013-02-15 13:22:39

+0

为了帮助您,我们需要查看处理表单的脚本。它位于一个名为insert.php的文件中。并考虑修改你的原始问题以反映当前的事态。 – Strawberry 2013-02-15 13:32:41

0

道歉,如果此复制其他的答案,这是一个使用mysql_语法虽然你当然应该使用mysqli_或PDO这个答案...

<form action="insert.php" method="post"> 
<select name="valuelist">; 
<?php 

//path to connection statements 
include('path/to/connection/stateme.nts'); 

//fetch nurse name 
$query = "SELECT nurse_name FROM nurse;"; 

$result = mysql_query($query) or die(mysql_error()); //note: use mysql_error() for development only 

//print results 
while($row = mysql_fetch_assoc($result)) { 
echo '<option value=\"'.$row['nurse_name'].'">'.$row['nurse_name'].'</option>'; 
} 
echo "</select>"; 

    ?> 
<input type="submit" value="Submit"> 
</form> 
0

检查是否使用你的MySQL表和列名。有时候,如果你不把这些名字完全写在你的MySQL表中,那么它不起作用。假设,

$query = "SELECT nurse_name FROM nurse"; 

在上面的SQL如果MySQL表的名称是“护士”和列名是“NURSE_NAME”然后写完全一样。

$query = "SELECT NURSE_NAME FROM NURSE"; 

所以,你看有时候MySQL表,列名工作区分大小写。