我在使用$ wpdb并在ajax调用中使用数组时遇到问题。
我一直无法读取null的属性'0'。所以我知道我没有正确创建数组,或者我没有正确地将数组传递给我的ajax。
我知道Select语句有效,因为当我只是将一个值回显给我的ajax调用时,我得到了所需的结果。
我希望第二双眼睛能看出我做错了什么。谢谢!
这是我的php函数,我将数组赋值给我的ajax调用。
global $wpdb;
if(isset($_POST['post_personid'])) {
$id = $_POST['post_personid'];
$stmt = $wpdb->get_results("
SELECT a.*, b.*, h.*, d.*, e.*, f.*
FROM {$wpdb->prefix}acl_client_info AS a
INNER JOIN {$wpdb->prefix}acl_outgoing_calls AS b ON a.id = b.client_id
INNER JOIN {$wpdb->prefix}acl_incoming_calls AS h ON a.id = h.client_id
INNER JOIN {$wpdb->prefix}acl_services AS d on a.service = d.service_id
INNER JOIN (SELECT service_id AS service_type_id, service_name AS service_type_name FROM {$wpdb->prefix}acl_services) AS d ON a.service_type = d.service_type_id
INNER JOIN {$wpdb->prefix}acl_find_us AS e ON a.find_us =e.find_us_id
INNER JOIN (SELECT find_us_id AS find_id, find_us_name AS find_name FROM {$wpdb->prefix}acl_find_us) AS e ON a.find_us = e.find_id
INNER JOIN {$wpdb->prefix}acl_method_of_consulation AS f ON a.method = f.method_id
WHERE a.id =". $id ."
", ARRAY_A );
$viewRetainedClient = array();
foreach($stmt as $results){
$viewRetainedClient[] = $results['first_name'];
/*$viewRetainedClient[] = $results->id; //0 */
echo json_encode($viewRetainedClient);
}
}
wp_die();
我已经使用了ARRAY_A和ARRAY_N而没有运气。
这是我的ajax电话。
$(document).on("click", "#personid", function(){
var personid =$(this).val();
var data = {
action: 'myviewclient',
post_personid: personid
};
$.post(
the_ajax_script.ajaxurl,
data,
function(response)
{
$("#retained_first_name").val(response[0]);
/* $("#retained_first_name").html(response[0]); */
}, "json"
);
});
我已成功构建此插件而没有$ wpdb类,这部分工作正常。现在我想回去添加$ wpdb,它只是给了我各种各样的问题。我已阅读并重读了文档,但我无法让它工作。
感谢您的时间!