4

我有一个从 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

4 回答 4

11

我认为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的值,它就会post到后端,然后根据posted的值,你可以做你想要的,在php中获取peer-id,你可以使用下面的代码

$peer-id = $_POST['peer-id'];

希望有所帮助!

于 2013-08-12T03:35:54.903 回答
6

在选择标签中应用此代码希望这有效

<select  onchange="location = this.options[this.selectedIndex].value;" style="text-decoration:none;">
 <option value="customers.php"></font></option>
</select>
于 2016-02-22T08:33:22.300 回答
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>';

            }
于 2013-08-12T04:13:46.880 回答
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
  }
}
?>
于 2013-08-12T04:20:34.210 回答