使用PHP& amp;预先填充先前SELECT选项的输入SQL

时间:2014-01-29 15:55:22

标签: php jquery sql

我有几个选择让Make&模型,我想在选择模型时将评级预填充到输入框中。以下是我所拥有的,但每次尝试时都会给我一个500页的错误。

不确定我哪里出错了

这是来自我的class.php

public function ShowEfficRating() {
        include "db.php";
        $sql = "SELECT CONVERT(VARCHAR, Efficiency * 100) + '%' FROM Rating WHERE Model = $_POST[model]";
        $res = odbc_exec($cnn, $sql);
        $effic = $res
    }
    return $effic;

这是我主页的jquery

<script>
    $(document).ready(function () {
        var model = $("select#model").val();
        $.post("selecttype.php", {model:model}, function(data) {
            return $('input[name="efficrating"]').val();
        });
    });
</script>

1 个答案:

答案 0 :(得分:0)

一些事情:

  • 您的return声明超出了您的职能范围。
  • 永远不要将$ _POST数据直接传递给查询。它必须经常消毒。
  • 不推荐将未加引号的字符串常量值直接传递到$ _POST(例如$_POST[model])。请改用$_POST['model']

[使用返回数据编辑地址:]

看看jQuery docs。它们表明从ajax请求返回的数据将作为第一个参数传递给回调函数。考虑原始ajax调用的这个修改版本:

<script>
    $(document).ready(function () {
        var model = $("select#model").val();
        $.post(
            "selecttype.php", 
            {model:model}, 
            function(data) {
                $('input[name="efficrating"]').val(data);
            }
        );
    });
</script>

现在正在从ajax调用返回的数据中使用它来设置输入的值。