我尝试从数据库进行查询,以使用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查询将修改所选国家/地区的更改。谢谢!
答案 0 :(得分:0)
您要做的是AJAX。听起来很复杂,但事实并非如此。请参阅这些示例以获得简单的解释。不要只看它们 - 复制/粘贴到您的服务器并使它们工作。更改值。看看它是如何工作的 - 非常简单。
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;
?>