我要疯了。我有一个 ajax.php 文件,用于从名为“联系人”的表中自动完成姓名列表。脚本部分如下:
dispatch('/ajax/contacts/list', 'ajax_list_contacts');
function ajax_list_contacts() {
$user = new User(SessionManagement::get_logged_in());
$gid = $user->get_field('fKeyGroup');
$q_cons = mysql_query("SELECT '_id', CONCAT(first_name, ' ', last_name) AS `Name`
FROM `contacts`
LEFT JOIN `contact_type_options` ON contact_type_options._id = contacts.fKeyContactDetail
WHERE (
contacts.fKeyGroup = '{$gid}' AND contact_type_options.type = '2'
)")
or die(ErrorLog::handle(mysql_error()));
$out = array();
while (($row = mysql_fetch_assoc($q_cons)) != null) {
$out[] = $row;
}
echo json_encode($out);
}
上面的脚本被调用:
$(function() {
$.ajax({
success: function(data) {
var names = [];
data = JSON.parse(data);
for (var i in data) {
names.push(data[i].Name);
}
$('[name=form-referral]').autocomplete(names);
},
url: '/ajax/contacts/list'
});
这完美地工作,并且最初仅用于具有contact_type_option = 2的呼叫记录。现在,我想包括所有联系人,而不管联系人类型选项如何。
我试图完全更改代码以从“联系人”表中提取所有联系人,我尝试删除下面显示的脚本部分。我试图将 = '2' 更改为 != '3' (因为只有 1-3 种不同的类型,我不在乎是否包括类型 3)我主要对类型 1 和 2 感兴趣,但是如有必要,我将接受 1,2 和 3……但我所做的任何更改都会产生 Uncaught TypeError: Cannot read property '0' of null 错误。为什么我没有尝试任何工作对我来说没有任何意义。
AND contact_type_options.type = '2'
我也试过下面的代码:
dispatch('/ajax/contacts/list', 'ajax_list_contacts');
function ajax_list_contacts() {
$user = new User(SessionManagement::get_logged_in());
$gid = $user->get_field('fKeyGroup');
$q_cons = mysql_query("SELECT `_id`, CONCAT(`first_name`, ' ', `last_name`) AS `Name`
FROM `contacts`
WHERE `fKeyGroup` = '{$gid}'")
or die(mysql_error());
$out = array();
while (($row = mysql_fetch_assoc($q_cons)) != null) {
$out[] = $row;
}
echo json_encode($out);
}