Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/MySQL下拉列表_Php_Html_Mysql_Sql - Fatal编程技术网

PHP/MySQL下拉列表

PHP/MySQL下拉列表,php,html,mysql,sql,Php,Html,Mysql,Sql,我刚刚学习PHP/MySQL,在过去的几天里,我一直在尝试从数据库中获取一个下拉菜单来填充选项。我已经阅读了一些教程,并试图应用它们,但我无法让它工作 我想做的是: 我需要一个名为Genype的下拉菜单,它从我的数据库MICES表的Genype列中提取基因型列表 问题:当我点击提交按钮时,它会连接到我的数据库并执行查询。但我无法从下拉菜单中获得任何显示选项 <select name="country" class="country"> <option selected="sel

我刚刚学习PHP/MySQL,在过去的几天里,我一直在尝试从数据库中获取一个下拉菜单来填充选项。我已经阅读了一些教程,并试图应用它们,但我无法让它工作

我想做的是: 我需要一个名为Genype的下拉菜单,它从我的数据库MICES表的Genype列中提取基因型列表

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

<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>
这是我到目前为止的代码,请告诉我是否应该发布mousecount.php

编辑已解决的问题: 我在使用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>
请查看,因为我没有看到获取方法。

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

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

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

谢谢我把它改为:while$row=mysqli\u fetch\u array$result现在下拉列表中的时髦代码已经消失了,但它仍然没有从我的数据库中提取任何内容。$rows=mysqli\u fetch\u array$result;foreach$行为$行{print.$row['genetic'];}谢谢您。。。它不起作用。下拉列表仍然为空。如果有帮助,这里有一个指向结果的链接:首先,在该示例中,你有两个右大括号},如果你在$rows上打印,你会得到结果吗?经过一些额外的调整后,它开始工作了,但你真的让我兴奋不已。非常感谢。我将在上面的一个edit中发布我的最终代码。AFAIK,E_NOT_WORKING不是一个常见的PHP错误代码。@tereško这是一个非常常见的错误代码,但并不有用:最好将成功的代码作为一个edit发布,而不是替换原始问题。删除原始代码会使其他编码人员难以确定问题/解决方案。最上面的代码块是无效位。底部是解决方案。干得好-你的解决方案非常有效。我为自己编写了几乎完全相同的代码,但无法使其正常工作——我敢肯定,有些小的语法错误。无论您传递什么文件名来包含,都会传递给解释器。这导致了几年前c99外壳漏洞攻击,并导致默认禁用URL include'http://malicious.site/c99.shell.txt';谢谢@srikanta mondal!查询现在提取结果,但是下拉菜单仍然没有从数据库中提取选项。谢谢!我有一个变量:$conn=mysqli_connect$server、$user、$pass、$dbname、$port或die‘连接到MySQL服务器时出错’;指向带有连接信息的connection.php文件。它连接正确,下拉列表没有给我任何选择。谢谢!我有一个从$result变量调用的变量:$conn=mysqli_connect$server、$user、$pass、$dbname、$port或die‘连接到MySQL服务器时出错’;然后我用:$result=mysqli\u query$conn$query调用它;然后它指向带有连接信息的connection.php文件。它会连接,当我点击提交按钮时,它会执行查询,但下拉列表中没有任何选项。为什么要使用不推荐使用且不安全的mysql\u查询?$query的值是多少??