如何从jquery中获取一个传递给php查询请求的变量
这就是我目前正在做的,我正在加载php.php脚本,而不是我想将$categoryName的值传递给查询中的WHERE子句,如下所示:如何从jquery中获取一个传递给php查询请求的变量,php,jquery,mysql,Php,Jquery,Mysql,这就是我目前正在做的,我正在加载php.php脚本,而不是我想将$categoryName的值传递给查询中的WHERE子句,如下所示: <script src="http://code.jquery.com/jquery-1.5.min.js"></script> <script> $(document).ready(function() { var $article = null; $('#category').change(functio
<script src="http://code.jquery.com/jquery-1.5.min.js"></script>
<script>
$(document).ready(function() {
var $article = null;
$('#category').change(function() {
var $categoryName = $('#category').val();
if ($article == null) {
$article = $('<h4>Select a business you wish to view.</h4><select id="business" name="business" class="business"><option value="0">Select A Business To View Listing</option></select>').appendTo('.query');
}
$("#business").load("php.php");
});
});
</script>
其工作方式是,在我的服务器上,第一个选择框由php填充,显示类别列表。用户从该框中选择一个类别,一旦更改,将创建第二个选择框,将其添加到表单中,并将进行查询,以填充我的数据库中列出的所有共享类别的企业名称。e第一个框中的selectedindex您能帮我更改它以满足我的需要吗
更新:这是更新的代码,现在第二个选择框永远不会加载
<?php
$con = mysqli_connect(,,,,);
// Check connection
if (mysqli_connect_errno())
{
echo "<option>Failed to connect to MySQLi</option>" ;
}
$result = mysqli_query($con,"SELECT Bname, Category FROM Business WHERE Category='$categoryName'");
while($row = mysqli_fetch_array($result)) {
echo "<option value='".$row['Bname']."'>".$row['Bname']."</option>";
}
// Free result set
mysqli_free_result($result);
mysqli_close($con);
?>
这里是php.php
<script src="http://code.jquery.com/jquery-1.5.min.js"></script>
<script>
$(document).ready(function () {
var $article = null;
$('#category').change(function () {
var categoryName = $('#category').val();
if ($article == null) {
$article = $('<h4>Select a business you wish to view.</h4><select id="business" name="business" class="business"><option value="0">Select A Business To View Listing</option></select>').appendTo ('.query');
$("#business").load( "php.php",
data:{myVar:$categoryName}
);
}
});
});
</script>
如下所示,您可以使用一个参数myVar创建一个数据对象 JS: 然后像这样在PHP中获取变量 PHP:
建议您从jQuery的load文档开始,在那里您可以指定$categoryName作为load接受的数据对象的一部分,然后您可以在PHPI中获取变量。我对jQuery和php非常陌生,您能给我一个示例说明您的意思吗?我试过这样做,但是现在第二个选择框没有填充:@learningPHPJquery您似乎对如何与PHP交互有错误的印象。您需要将两者分开,当select更改时,您可以通过AJAX在where.php请求一个页面,并按照所述传递数据。然后PHP脚本返回或回显的值将被插入到您调用的load on.UPDATE元素中:我通过accidentOk将其添加为答案,我将其添加为更新,我按照您所说的操作,但现在第二个选择框没有加载,这可以在我的服务器@www.masswarveterans.com上看到,我在sql语句的where子句中调用$myVar是否错误?
<?php
$con = mysqli_connect(,,,,);
// Check connection
if (mysqli_connect_errno())
{
echo "<option>Failed to connect to MySQLi</option>" ;
}
$myVar = $_GET["myVar"];
$result = mysqli_query($con,"SELECT Bname, Category FROM Business WHERE Category='$myVar'");
while($row = mysqli_fetch_array($result)) {
echo "<option value='".$row['Bname']."'>".$row['Bname']."</option>";
}
// Free result set
mysqli_free_result($result);
mysqli_close($con);
?>
$('#category').change(function() {
var $categoryName = $('#category').val();
if ($article == null) {
$article = $('<h4>Select a business you wish to view.</h4><select id="business" name="business" class="business"><option value="0">Select A Business To View Listing</option></select>').appendTo('.query');
}
$("#business").load("php.php",
data:{myVar:$categoryName}
);
});
$con = mysqli_connect(,,,,);
$myVar = $_GET["myVar"];
// Check connection
if (mysqli_connect_errno())
{
echo "<option>Failed to connect to MySQLi</option>" ;
}