下拉列表中的PHP问题

时间:2010-12-29 15:52:53

标签: php html

我是PHP新手。我需要创建一个显示下拉列表的表单,该列表显示我在名为employee的mysql表中的员工姓名。有了这个下拉列表。我需要将下拉列表中的选择值插入另一个表中。这就是我所拥有的。我真的很感激你的帮助。

echo '</tr><tr><td><label for="AssignedEmp"> Assigned Employee:</label></td><td>';
$query = "SELECT UserName, Classification_ClassificationID FROM employee";
$result = queryMysql($query);
if (Classification_ClassificationID =='2')  {
   while ($rows = mysqli_fetch_array($result)) {
      <select name = "UserName" value="' . $rows['UserName'] . '" name="toinsert[]" />;
    }
 }

5 个答案:

答案 0 :(得分:3)

好的,还有一些事情要做。

1。首先,如果您只想让分类ID为2,请让数据库执行此操作:

SELECT UserName, Classification_ClassificationID FROM employee WHERE Classification_ClassificationID = 2

2。接下来,我不确定你是否已经掌握了html <select>的工作原理:http://www.w3schools.com/tags/tag_select.asp

您希望输出看起来像这样:

<select name="UserName">
  <option value="BillyBob">BillyBob</option>
  <option value="JonSmith">JonSmith</option
  <option value="BunnyRabbit">BunnyRabbit</option>
</select>

因此生成它的PHP将是:

echo "<select name=\"UserName\">";

while ($rows = mysql_fetch_array($result)) {
  echo "<option value=\"$rows[UserName]\">$rows[UserName]</option>";
}

echo "</select>";

3。确保你从php回复html,否则它无法正常工作。

答案 1 :(得分:0)

if (Classification_ClassificationID =='2')  {
   while ($rows = mysqli_fetch_array($result)) {
      <select name = "UserName" value="' . $rows['UserName'] . '" name="toinsert[]" />;
    }
 }

这是无效的。需要回显该选择行。

答案 2 :(得分:0)

您需要先获取信息才能进行检查。

  

if(Classification_ClassificationID   == '2'){

部分不会评估未设置的b / c。你必须检查它......

  

如果   ($行[ 'Classification_ClassificationID']   == '2'){

在while语句中执行此操作。我想你想要这样的......

注意:我将== 2的检查添加到您的SQL语句

<?php
$query = "SELECT UserName, Classification_ClassificationID FROM employee WHERE Classification_ClassificationID=2";
$result = queryMysql($query);
?>
<select name="UserName">
<?php
while ($rows = mysqli_fetch_array($result)) {
?>
   <option value="<?php echo $rows['UserName']?>" />
<?php
} // close the while
?>
</select>

答案 3 :(得分:0)

html选择框具有此格式

<select name="foo">
  <option value="1">1</option>
  <option value="2">2</option>
</select>

所以你的php应该是这样的

..
if (Classification_ClassificationID =='2'){
  echo "<select name=\"UserName\">";
  while ($rows = mysqli_fetch_array($result)) {
    echo "<option value=\"". $rows['UserName'] ."\">". $rows['UserName'] ."</option>";
  }
  echo "</select>";
}

答案 4 :(得分:0)

尝试:

echo '</tr><tr><td><label for="AssignedEmp"> Assigned Employee:</label></td><td>';
$query = "SELECT UserName FROM employee where Classification_ClassificationID = '2'"; // First Remark
$result = mysqli_query($query); 
echo '<select name = "UserName">'; // or name="toinsert[]" 
while ($rows = mysqli_fetch_array($result)) {
  echo '<option value="' . $rows['UserName'] . '" />'; // Third remark
}
echo '</select>';

第一句话: 提出正确的请求。在这里,您选择employee表中的每个userName,其中Classification_ClassificationID ='2'(如果该字段不是varchar,则仅放置2)

第二句: 确定你真的使用mysqli(或mysql?)

第三句话: 请确保在您想要之前放置echo作为输出(此处为html)

最后: 在学习PHP之前,您可能想先学习HTML。