无法将jQuery变量集成到php中


Cannot integrate jQuery variable into php

我尝试使用php/mysql和jquery从数据库中进行查询,以获得基于国家/地区的用户列表。我有一个mysql查询,它在select options字段中提取国家/地区表单数据库。在这之后,我放入了一个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(;并且sql查询将在所选国家/地区发生更改时进行修改。非常感谢。

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

的一个简单例子

更复杂的示例

根据下拉列表1 中的选择填充下拉列表2


您的代码对我来说有点难以理解,但应该像这样进行重构。(我不确定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;
?>