0

长期聆听者,第一次来电者。我无法从名为“roster”的 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>

如您所见,下拉菜单也是用于在新表中创建条目的表单的一部分。我不知道这是否会有所作为,但我想我会指出这一点。

4

2 回答 2

1

尝试这个。

<select name="Rep_ID">
  <?php
  while($row = mysql_fetch_assoc($result))
  {
      echo "<option value=" . $row['Rep_ID'] . ">" . $row['Rep_ID'] . "</option>";
  }
  ?>
  </select>
于 2013-01-20T17:18:31.700 回答
0

尝试这个:

<?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_ 而不是 MYSQL_,原因是这更适合新代码,请参阅上面的注释。

我调试了您的代码并遇到了很多问题。:-( 主要问题是:
echo "$query"您忘记了行尾的分号。

祝你项目好运。

于 2013-01-20T22:15:59.853 回答