下拉列表保持从列表中选择最后一项

时间:2015-05-04 05:24:52

标签: php html mysql html.dropdownlistfor

我目前正在处理的作业存在问题。我有一个下拉列表,我可以选择一个用户在我的网站上发送消息。问题是每次我尝试选择某些内容时,它会继续从列表中选择最后一项。下面的代码是我在从数据库表中查询时在我的PHP文件顶部声明的代码:

while($row=mysqli_fetch_array($query))  { 

  $User_id= $row['User_ID'];
  $USERname = $row['Username'];

  $options.= "<option value=>".$USERname."</option>";

}

这是我尝试在表单下拉列表中显示用户名列表的地方:

<form method="post" action="message_send_new.php">
  <tr>
    <td width="165">To</td>
    <td width="605">
    <select name ="to_username" id="to_username"> 
<OPTION VALUE=0>
<?php echo $options; ?>
</OPTION ></select>

</td>

我觉得有些事情在这一行<OPTION VALUE=0>中是不对的,但我并不完全确定。

之后,我写了这些内容,用户发送的消息应该正确发送到目标用户的收件箱,并且消息也应该显示在前用户的发件箱中,但由于某种原因,该部分也无法正常工作

if(isset($_POST['submit1'])) {

  $to_username=isset($_POST['to_username']);
  $title=$_POST['title'];
  $message=$_POST['message'];
  $to_userid=isset($_POST['to_userid']);
  $userid=$_POST['User_ID'];
  $from_username=isset($_POST['from_username']);
  $senddate=isset($_POST['senddate']);

}
require_once "includes/connect_i.php";

$query = mysqli_query($myConnection,
"INSERT INTO pm_outbox(userid,username,to_userid,to_username,
title,content,senddate)
VALUES('$Userid','$Username','$User_id','$USERname',
'$title','$message',Now())") or die (mysqli_error($myConnection));

$query = mysqli_query($myConnection, 
"INSERT INTO pm_imbox(userid,username,from_id,from_username,
title,content,recieve_date)
VALUES('$User_id','$USERname','$Userid','$Username',
'$title','$message',Now())")or die (mysqli_error($myConnection));

我尝试在2个查询之前使用上面的值插入表中,但我仍然无处可去。我已经看到了一个关于下拉列表问题的案例,类似于我在这个网站的某个地方,但它对我的帮助不大。我为代码中的任何粗心错误道歉,因为我已经用PHP编写了很长时间了。谢谢!

更新: 我不确定这是不是这样做的。下面的代码块是我试图表明用户是消息的发送者的地方,而最后一段代码是我试图表明消息将被发送给所选用户的基于从下拉列表中选择的选项。

$sqlCommand= "SELECT User_ID, Username FROM users WHERE Username='" . $_SESSION['username']. "'";
$query = mysqli_query($myConnection,$sqlCommand) or die (mysql_error());
while ($row = mysqli_fetch_array($query)) {
    $Userid = $row ["User_ID"];
    $Username = $row["Username"];
}
mysqli_free_result ($query);

if(isset($_GET['User_ID'])){
$to_userid=$_GET['User_ID'];

$sqlCommand = "SELECT User_ID,Username FROM users WHERE User_ID='$to_userid'";
$query=mysqli_query($myConnection, $sqlCommand) or die (mysql_error());

while($row=mysqli_fetch_array($query)) {
    $to_userid=$row['User_ID'];
    $USERname=$row['Username'];
    }
    mysqli_free_result($query);
}

1 个答案:

答案 0 :(得分:0)

您正在生成的option存在一个小错误。它应该是 -

<select name ="to_username" id="to_username"> 
<OPTION VALUE=0>Select One</OPTION >
<?php echo $options; ?>
</select>

您没有为他们设置任何价值 - $options.= "<option value=>".$USERname."</option>";

如果您希望id为值 -

$options.= "<option value='".$User_id."'>".$USERname."</option>";