使用php打印下拉列表中的选定值?

时间:2013-04-29 05:11:50

标签: php html

我试图在下拉列表中打印所选值,但是徒劳无功。我是php和html的新手,所以这可能听起来像一个愚蠢的问题,但请帮助我!这是我的代码:

echo '<tr><td>Client:</td><td><select name="client_name">';   
            $sql = mysql_query("SELECT * FROM client");
            $s= mysql_query("SELECT project.client_id, client_name, client.client_id FROM client,project where project.client_id=client.client_id AND project_id='$editId'");
          //  $s2= mysql_fetch_array($s);
            while ($row = mysql_fetch_array($sql))
            {
               while ($s2==mysql_fetch_array($s))
               { 
                if ($row['client_id'] == $s2['client_id'])
                 $selected = "selected=\"selected\"";
                   else
                        $selected = " ";                                                                         
               }     
               echo '<option value="' . $row['client_id'] . '" ' . ($selected == $row['client_id'] ? ' selected' : '') . '>' . $s2['client_name'] . '</option>';
            }

此代码无效。请帮帮我!有没有不同的方法呢?

2 个答案:

答案 0 :(得分:1)

试试这个

echo '<tr><td>Client:</td><td><select name="client_name">';   
        $sql = mysql_query("SELECT * FROM client");
        $s= mysql_query("SELECT project.client_id, client_name, client.client_id FROM client,project where project.client_id=client.client_id AND project_id='$editId'");
      //  $s2= mysql_fetch_array($s);
        while ($row = mysql_fetch_array($sql))
        {
           while ($s2==mysql_fetch_array($s))
           { 
            if ($row['client_id'] == $s2['client_id'])
             $selected = "selected=\"selected\"";
               else
                    $selected = " ";                                                                         
           }     
           echo '<option value="' . $row['client_id'] . '" ' . $selected . '>' . $s2['client_name'] . '</option>';
        }`

答案 1 :(得分:0)

此查询是个问题

$s= mysql_query("SELECT project.client_id, client_name, client.client_id FROM client,project where project.client_id=client.client_id AND project_id='$editId'");

您正在尝试获取两个客户端ID project.client_id和client.client_id,在这种情况下,您应该将project.client_id等别名作为project_client_id,将client.client_id作为client_client_id,然后使用该值在while循环中进行比较。

注意使用您想要的任何客户端ID project_client_id或client_client_id。