私はここで絶対に夢中になります..「連絡先」と呼ばれるテーブルから名前のリストをオートコンプリートするために使用される 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);
}