从下拉菜单中选择并重新加载页面

时间:2013-08-12 03:12:35

标签: php mysql

我有一个表来填充MYSQL数据库中的数据,并从同一个数据库中填充一个下拉菜单。我有下拉菜单和表格,我希望能够选择我在表格中显示的数据。

<select name = 'peer-id' method='post' style = 'position: relative'>
        <?php
        while ($content = mysql_fetch_array($peer)) {
            echo "<option value='" . $content['Peer'] . "'>" . $content['Peer'] . "</option>";
        }
        $results = mysql_query("SELECT Destination FROM rate  ");
        ?>
    </select>

这就是我对选择框的看法。如何从中获取选择并将其保存为变量并刷新表数据?

我需要澄清一下,这会改变当前的数据

 #Data#Data#Data
 #Data#Data#Data
 #Data#Data#Data

然后选择下拉选项,我希望它显示新数据

 #Data2#Data2#Data2
 #Data2#Data2#Data2
 #Data2#Data2#Data2

因此,它需要加载新页面或刷新一些内容,因为它是通过PHP而不是javascript进行更改。

4 个答案:

答案 0 :(得分:9)

我认为form可能更好,例如

<form id="myform" method="post">
<select name = 'peer-id' style = 'position: relative' onchange="change()">
    <option value="1">12</option>
    <option value="2">15</option>
    <option value="3">16</option>
    <option value="4">18</option>
</select>
</form>

<script>
function change(){
    document.getElementById("myform").submit();
}
</script>

在上面的代码中,每当你改变select的值时,它都会发布到后端,然后根据发布的值,你可以想要你想要的,在php中获取peer-id,你可以使用以下代码

$peer-id = $_POST['peer-id'];
希望有所帮助!

答案 1 :(得分:5)

在select标签中应用此代码希望这可行

<select  onchange="location = this.options[this.selectedIndex].value;" style="text-decoration:none;">
 <option value="customers.php"></font></option>
</select>

答案 2 :(得分:0)

而不是静态选项,你可以这样做:)在这里你可以从数据库中获得所有选项。只需将其替换为静态选项

即可
    $peer = mysql_query("SELECT Peer FROM rate Group By Peer Where peer = 'variable'");
    $result_peer = mysql_query($peer);

            if($result_peer){

                while($row_peer = mysql_fetch_array($result_peer)){

                    echo'<option value='.$row_peer['Peer'].'>'.$row_peer['Peer'].'</option>';

            }

答案 3 :(得分:0)

我同意使用form,您可以使用提交按钮(代码测试)回显到页面:

<form id="myForm" method="POST">
   <select name="select" onchange="<?php echo $_SERVER['PHP_SELF'];?>">
   <option value="N">No</option>
   <option value="Y">Yes</option>
   </select>
   <input type="submit" name="formSubmit" value="Submit" >
</form>

<?php

if(isset($_POST['formSubmit']) ){
  $var = $_POST['select'];
  $query = "SELECT * FROM table_name WHERE DesiredField='$var'";
  $result = mysql_query($query)
  or die(mysql_error());

  while($row = mysql_fetch_array($result)){
    $var2 = $row['FieldName'];
    echo "First field: " . $var2 . "<br>";
    // and so on for what you want to echo out
  }
}
?>