简体   繁体   English

用php mysql填充选择框

[英]populate a select box with php mysql

I'm having difficulty populating a select box within a form to display existing "forenames" of nurses from the "Nurses" table. 我在填充表格中的选择框以显示“护士”表中护士的现有“姓氏”时遇到困难。 Could anyone tell me what Im doing wrong? 谁能告诉我我在做什么错? Thanks in advance! 提前致谢!

Here is the form 这是表格

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

The QUERY which should populate the nurse_forename: 应该填充Nurse_forename的QUERY:

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

Try this: 尝试这个:

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

Dont use mysql and mysqli together....you should use mysqli or PDO, but not a mix of both ;) PS: Edited ;) 不要同时使用mysql和mysqli ....您应该同时使用mysqli或PDO,但不能同时使用它们;)PS:已编辑;)

Saludos. Saludos。

Apologies if this duplicates other answers, Here's an answer using mysql_ syntax although you should of course be using mysqli_ or PDO for this... 抱歉,如果这与其他答案重复,这是使用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>

Check your MySQL table and column name that you using. 检查您使用的MySQL表和列名。 Sometimes it does not work if you don't write those names exactly which in your MySQL table. 有时,如果您没有在MySQL表中写出准确的名称,那将是行不通的。 suppose, 假设,

$query = "SELECT nurse_name FROM nurse";

in above SQL if MySQL table name is 'NURSE' and column name is 'NURSE_NAME' then write exactly like this. 在上面的SQL中,如果MySQL表名是“ NURSE”,列名是“ NURSE_NAME”,则应完全这样写。

$query = "SELECT NURSE_NAME FROM NURSE";

So, you look that sometime MySQL table, column name work in case sensitive. 因此,您看起来有时候MySQL表,列名可以区分大小写。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM