尝试使用AJAX执行SQL查询以填充选择菜单

时间:2014-07-21 10:52:51

标签: php jquery ajax

这是我的代码:

//Logic....
$companyId = $_POST['var1'];
global $db;
$query = "SELECT firstname, surname FROM contact WHERE directorycompany_id = " . $companyId;
$result = $db->query($query);
$total = $result->num_rows;
?>

<!-- HTML -->
<option value=""><?= $total; ?></option>

当用户从下拉菜单中选择一个选项时,我正在尝试发出ajax请求。我们的想法是将公司ID作为参数传递给远程脚本,并使用此database查询id以返回适用于该公司的联系人。

这是我的页面:

<p>
    <label>Company Name</label>
    <?php echo SelectBuilder::getDirectoryCompany('companylist', '', 'test') ?>
</p>

<p>
    <label>Columnist Name</label>
    <?php echo SelectBuilder::getDirectoryCompanyStaff('directorystaff_id', $companyId, $objectStaffId, 'test1') ?>
</p>

这是script

<script>
    $('#test').change(function() {
            var companyId = $(this).val();
            console.log(companyId);// <---  Pass this to the ajax page as a parameter
            $('#test1').load('pages/ajax/company_dropdown.php', {var1: companyId});
    });
</script>

在大多数情况下,它工作正常。我可以调用该文件,将公司ID作为参数传递,并在选择框中输出公司ID作为选项。但是,我尝试使用适用于该公司的所有联系人的名字和姓氏填充选择框。

目前我收到此错误:

 Fatal error: Call to a member function query() on a non-object in C:\wamp\www\xxx.tld\pages\ajax\company_dropdown.php on line 12

1 个答案:

答案 0 :(得分:0)

最后问题非常简单我忘了include实际初始化database连接的文件。一旦完成,我修改了循环结果的方式,并且工作正常。