PHP/MySQL Dropdown


PHP/MySQL Dropdown

我刚刚在学习PHP/MMySQL,过去几天我一直在尝试从数据库中获得一个下拉菜单来填充选项。我已经阅读了一些教程,并尝试应用它们,但我无法做到这一点。

我要做的事情:我需要一个名为"基因型"的下拉菜单,它从我的数据库中名为"小鼠"的表的"基因类型"列中提取基因型列表

问题:当我点击提交按钮时,它会连接到我的数据库并执行查询。但我无法从下拉菜单中获得任何显示选项。

这是我到目前为止的代码(请告诉我是否应该发布mousecount.php)

<?php
include('connection.txt');
$conn = mysqli_connect($server, $user, $pass, $dbname, $port)
or die('Error connecting to MySQL server.');
?>
<html>  
<head><title>Crap That Won't Work</title></head>
<body bgcolor="white">
<hr>
<dt>THINGS ARE TOTALLY NOT WORKING</dt>
<dd>
<form action="mousecount.php" method="POST">
<table><tr>
<td><p><label for="Genotype">Genotype:</label><br/>
<select name="Genotype">
<?php
$query = "SELECT MouseID, Genotype FROM Mice";
$result = mysqli_query($conn, $query);
while($row = mysqli_fetch_array($result))
{
print "<option value='"$row['Genotype']'">".$row['Genotype']."</option>";
}
?>
</select>
</p></td>
</tr></table><br/>
<input type="submit" value="Submit">
</form>
</body>
</html>


编辑(已解决):

我在使用MySQL数据库中的选项填充下拉菜单时遇到了问题。感谢你的帮助。我正在发布我的最终代码,以防对其他人有帮助。

<!-- Connect to database -->
<?php
include('connection.php');
$conn = mysqli_connect($server, $user, $pass, $dbname, $port)
or die (mysql_error());
?>
<hr>
<h4>Mice Count</h4>
<form action="mousecount.php" method="POST">
<p><label for="Genotype">By Genotype:</label><br/>
<?php
$query = "SELECT Genotype from Mice GROUP BY Genotype";
$result = mysqli_query($conn, $query);
echo "<select name='Genotype'>";
echo "<option value='0'>-Select-</option>";
while($row = mysqli_fetch_array($result)) {
    echo "<option value='".$row['Genotype']."'>".$row['Genotype']."</option>";
}
echo "</select>";
?>
</p>
<input type="submit" value="Submit">
</form>
</body>
</html>

请参阅php.net手册,因为我没有看到fetch方法。

connection.txt中有什么
如果你有写在上面的连接变量,把它变成一个php文件,而不是txt,然后包括它。

首先连接到您的数据库

$con=mysqli_connect("localhost","username","password","dbname"); 
if (mysqli_connect_errno()) 
{ printf("Connect failed: %s'n", mysqli_connect_error());
 exit(); } 
$result = mysqli_query($con, "select MouseID, Genotype FROM Mice"); 
while ($row = mysqli_fetch_assoc($result)){ ?> 
<option value="<?php echo $row['Genotype']; ?>"><?php echo $row['Genotype']; ?></option>

现在您可以使用此代码了。。。首先连接数据库。

<?php
$conn = mysqli_connect("localhost", "root", "") or die('Error connecting to MySQLserver.');
mysqli_select_db($conn, "demo") or die("Failed to connect to database");
?>

将该值提取到数据库&在下拉菜单中使用。

<select name="country" class="country">
<option selected="selected">--Select Country--</option>
<?php 
$sql=mysqli_query($conn, "select * from countries order by id ASC");
while($row=mysqli_fetch_array($sql))
{
echo '<option value="'.$row['id'].'">'.$row['name'].'</option>';
} ?>
</select>

首先,您需要在这段代码的帮助下添加到数据库的连接。

<?php
$con = mysql_connect("localhost", "root", "") or die("Failed to connect to MySql.");
mysql_select_db("demo", $con) or die("Failed to connect to database");
?>

然后这是您的下拉菜单,所有值都来自数据库。

<select name="country" class="country">
<option selected="selected">--Select Country--</option>
<?php
$sql=mysql_query("select * from countries order by id ASC");
while($row=mysql_fetch_array($sql))
{
echo '<option value="'.$row['id'].'">'.$row['name'].'</option>';
} ?>
</select>