无法将jQuery变量集成到php中

时间:2015-02-24 16:20:52

标签: javascript php jquery

我尝试从数据库进行查询,以使用php / mysql和jquery获取基于国家/地区的用户列表。 我有一个mysql查询,在选择选项字段中提取国家/地区表单数据库。在此之后,我放置一个jquery代码,根据所选国家/地区自动获取用户表。这就是jquery代码的样子:

<script>
$( "#tara" )
.change(function () {
var str = "";
$( "select option:selected" ).each(function() {
str += "<table class='table table-bordered table-striped'>" +
"<thead><tr><th><p><?php echo _('Tara');?></p></th></tr></thead>" +
"<tbody>" +
"<?php
$variabilatara = 182;
$test = mysql_query("SELECT * FROM utilizatori WHERE idt='$variabilatara'") ?>" +
"<?php while($row=mysql_fetch_object($test))
{
echo "<tr>";
echo "<td><p>$row->nume</p></td>";
echo "</tr>";
}
?>" + $( this ).val() + " ";
});
$( "#testare" ).html( str );
})
.change();
</script>

我的问题是:如何将$(this).val()放入php而不是$ variabilatara,所以它看起来像:$ variabilatara = $(this).val();并且sql查询将修改所选国家/地区的更改。谢谢!

1 个答案:

答案 0 :(得分:0)

您要做的是AJAX。听起来很复杂,但事实并非如此。请参阅这些示例以获得简单的解释。不要只看它们 - 复制/粘贴到您的服务器并使它们工作。更改值。看看它是如何工作的 - 非常简单。

A simple example

More complicated example

Populate dropdown 2 based on selection in dropdown 1


我的代码对我来说有点困难,但应该重构这样的代码。 (我不确定strTara在代码中的位置,但我相信你能从这里找到它。)

<强>的javascript / jQuery的:

var strTara = <?php echo _('Tara');?>

$( "#tara" ).change(function () {
    selVal = $(this).val();
    $.ajax({
        type: 'post',
         url: 'another_php_file.php',
        data: 'variabilatara=' + selVal,
        success: function(data){
            var tblHead = "
                <table class='table table-bordered table-striped'>
                    <thead><tr><th><p>strTara</p></th></tr></thead><tbody>
            ";
            $( "#testare" ).html( tblHead + data );
        }
    });
});

another_php_file.php:(您的PHP AJAX处理器文件)

<?php
    $var = $_POST['variabilatara'];
    $out = '';

    $result = mysql_query("SELECT * FROM utilizatori WHERE idt='$variabilatara'") or die(mysql_error());
    while($row=mysql_fetch_object($result)){
        $out .= "<tr>";
        $out .= "<td><p>" .$row->nume. "</p></td>"; //<== fixed
        $out .= "</tr>";
    }
    $out .= '</tbody></table>'; //<== fixed
    echo $out;
?>