我尝试使用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;
?>