如何使用下拉列表中的选定项目填充php中的项目?

时间:2012-04-04 03:34:26

标签: php mysql

我从数据库中的表填充下拉列表。我试图抓住用户选择的下拉列表中的选定项目,以便我可以查询数据库以获取与该项目相关的更多信息。

<html>
<head></head>
<body>
<br>    
<table id ="topnav" width="1100" border="0" align="center">
    <tr>
    <td colspan="2" style="background-color:#FFA500;">
    <h1><table border="0">
    <tr>
    <th colspan="6"><img src ="../_images/Eu_flags.jpg" border="0" align="top" width="1100" height="180" />
    </th>
    </tr>

<table></h1>
    </td>
    </tr>

    <tr valign="top">
    <td style="background-color:#FFD700;width:150px;text-align:top;">


    <b>Menu</b><br />

    Select the state<br>
    See rank of Universities<br />
    Other information
    </td>
    <td style="background-color:#eeeeee;height:100px;width:940px;text-align:top;">
<?php
        $con = mysql_connect("localhost","root","pasword");
        if (!$con)
        {
            die('Could not connect: ' . mysql_error());
        }

        mysql_select_db("test", $con);
        if (!$con)
        {
            die('Could not connect: ' . mysql_error());
        }


        $result = mysql_query("SELECT lnamestate FROM state" );

        while($row = mysql_fetch_array($result))
        {
        $lnamestate_id = $lnamestate['id'];
        $row_lnamestate=$row['lnamestate'];
        $row_block .= '<OPTION value="'.lnamestate_id.'">'.$row_lnamestate.'</OPTION>';
        }
        mysql_close($con);

?>  
        <label for="row">Select state</label>
        <select name="lnamestateID"><?php echo $row_block; ?></select>



    </td>
    </tr>

    <tr>
    <td colspan="2" style="background-color:#FFA500;text-align:center;">
    </td>
    </tr>
</table>



</table>

</body>

</html>

2 个答案:

答案 0 :(得分:1)

首先,您需要向Select Control添加一个事件处理程序,以便在选择某些内容时,您可以捕获此事件,您可以通过以下内容实现;

<select name="ab" onchange="if (this.selectedIndex) doSomething();">

现在,按住索引以了解已选择的内容,或者如果需要,通过索引获取所选项目并将其放入javascript中的全局变量中。

如果要在选择项目时加载更多信息,请使用带有xmlHttpRequest的ajax。在许多Web应用程序中,当您使用JQuery时,它为您提供了许多任务。看看JQuery here,它易于使用并简化了很多事情。

答案 1 :(得分:0)

你需要AJAX:

$('select.whatever').change(function(){
   $.ajax({
      url: '/path/to/your/script.php',
      data: 'var='+$(this).val(),
      type: 'POST',
      success: function(data) {
         $('.insert_element').html(data);
      }
   });
});

这将获取要更改的元素的值,将其发送到脚本(然后可以查询数据库),并返回特定元素中的数据。