Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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/80.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_Arrays_Drop Down Menu - Fatal编程技术网

Php 将mysql列转换为数组并在下拉列表中使用该数组

Php 将mysql列转换为数组并在下拉列表中使用该数组,php,html,mysql,arrays,drop-down-menu,Php,Html,Mysql,Arrays,Drop Down Menu,长时间侦听器,第一次调用。我在从一个名为“花名册”的mysql表中提取一个名为“Rep_IP”的列,将其转换为一个数组,然后使用该数组填充html中的下拉列表时遇到了问题。我已经尝试了这里列出的几个建议以及其他地方,我没有任何运气。页面显示得很好,但下拉菜单没有选项可供选择。我想我会看看你们是否能告诉我我做错了什么 <html> <body> <form action="insert.php" method="post"> <p>Rep ID:&

长时间侦听器,第一次调用。我在从一个名为“花名册”的mysql表中提取一个名为“Rep_IP”的列,将其转换为一个数组,然后使用该数组填充html中的下拉列表时遇到了问题。我已经尝试了这里列出的几个建议以及其他地方,我没有任何运气。页面显示得很好,但下拉菜单没有选项可供选择。我想我会看看你们是否能告诉我我做错了什么

<html>
<body>

<form action="insert.php" method="post">
<p>Rep ID:</p>

<?php
$con = mysql_connect("localhost", "root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("rep_stats", $con);
$query = "SELECT Rep_ID FROM roster";

$result = mysql_query($query) or die ("no query");

$result_array = array();
echo "$query"
while($row = mysql_fetch_assoc($result))
{
$result_array[] = $row;
}
?>
<select name="Rep_ID">
<?php

foreach($result_array as $rep)
{
echo "<option value=" . $rep['Rep_ID'] . ">" . $rep['Rep_ID'] . "</option>";
}   

?>
</select>
Issues Handled: <input type="number" name="IssuesHandled">
Hours Worked: <input type="number" step="any" name="HoursWorked">
<input type="submit">
</form>

</body>
</html>

代表ID:

处理的问题: 工作时间:
如您所见,下拉列表是表单的一部分,用于在新表中创建条目。我不知道这是否有区别,但我想我会指出这一点

试试这个

<select name="Rep_ID">
  <?php
  while($row = mysql_fetch_assoc($result))
  {
      echo "<option value=" . $row['Rep_ID'] . ">" . $row['Rep_ID'] . "</option>";
  }
  ?>
  </select>

试试这个:

<?php


function select_list(){
$host = "host";
$user = "user";
$password = "password";
$database = "database";

$link = mysqli_connect($host, $user, $password, $database);
IF (!$link)
{
echo ('Could not connect');
}
ELSE {
$query = "SELECT Rep_ID FROM roster";

$result = mysqli_query($link, $query);

while($row = mysqli_fetch_array($result, MYSQLI_BOTH)){
    echo "<option value=" . $row['Rep_ID'] . ">" . $row['Rep_ID'] . "</option>";
}  

}
mysqli_close($link);
}

$begin_form = 
<<< EODBEGINFORM
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Insert data </title></head>
<body>

<form action="insert.php" method="post" name="form1">
<p>Rep ID:</p>

<select name="reps" form="form1">
EODBEGINFORM;


$end_form =
<<< EODENDFORM
</select><br>
Issues Handled: <input type="text" size="12" name="IssuesHandled"><br>
Hours Worked: <input type="text"  size="12" name="HoursWorked"><br>
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
EODENDFORM;


echo $begin_form;
echo select_list();
echo $end_form;
?>

您会注意到,我使用了MYSQLI_uuiSteadof MYSQL_uuu,原因是这对于新代码更好,请参见上面的注释

我调试了您的代码,并运行了一系列的问题。:-(主要问题是:
echo“$query”
您忘记了行末尾的分号


祝您项目顺利。

1.行
echo“$query”末尾缺少分号
.2.将值放入数组是一个不必要的步骤。在遍历结果集时呈现您的选项,就像Ian建议的那样。请不要在新代码中使用mysql_*函数。它们是。相反,请了解并使用or。就我个人而言,我喜欢假装做mysql的人和做php的人是两个不同的p人们。mysqler只是简单地给phper一个数组,他们可以在任何他们喜欢的地方使用。所以对我来说,数组构建步骤非常好。首先在这行后面添加一个;echo“$query”.B.T.W.你为什么要回显这个查询。或者这只是为了测试代码?我想这会给你的表单标签带来麻烦。谢谢。这工作做得很好。至于所有的错误,我是mysql的不速之客,我感谢你的建设性反馈。我现在将所有其他代码都改成mysqli。@Kevin我很高兴我能够帮助你你能接受我的答案吗?请在答案的左边打勾。谢谢。