传递/获取下拉值到sql变量而不提交按钮/表单

时间:2018-01-18 01:07:42

标签: javascript php jquery mysql sql

我需要从sql数据库填充的下拉选项中获取所选项的值。然后在sql语句中需要该值来获取特定记录。

我已经填充了下拉选项。代码

<select name="year" id="year">   
    <?php                             
       $query = mysql_query("SELECT distinct Year(fromdate) FROM emp WHERE empcode='$emp' order by Year(fromdate) desc");
        while ($row = mysql_fetch_array($query)){
            $year = $row[0];
           echo "<option value=\"".$year."\">".$year."</option>";
        }
    ?>
</select>

这是我使用下拉列表中的值来获取记录的PHP代码。

<?php
   $sql = mysql_query("SELECT salary FROM emp WHERE empcode='$emp' and Year(fromdate) = '$year'");
   $row = mysql_fetch_array($sql);
   $salary=$row[0];
?>

然后我需要将结果传递给文本框

<input id="salary" name="salary" value="<?php echo $salary; ?>">

将所选项目值从下拉列表“ year ”传递到PHP变量 $ year 以获取sql语句所需的代码是什么?我已经在Stack Overflow中找到了答案,但毫无疑问看起来像我的。

人们有什么问题需要sql为什么要投票

2 个答案:

答案 0 :(得分:2)

对你的php文件进行ajax调用,听你的select onchange事件,如下所示:

$('#year').on('change', function() {
            $.post( "path/file.php", { 
                year: $(this).val()
            })
          .done(function( data, status ) {

            console.log('data: '+data+' status: '+status);

            if(status == 'success'){
             //pass to your input ?
             //data is what your php file will echo/output
               $('#salary').val(data);
            }else{
              //how do you want to handle http error ?

            }
    });
});

答案 1 :(得分:1)

如果你想获得没有刷新页面的选择框值,那么你需要用AJAX做代码。

http://api.jquery.com/jquery.ajax/

在更改时,请将年份值传递给AJAX,然后在AJAX文件中写下工资获取的查询,并在成功完成后使用jQuery函数将此值放入工资字段