我正在嘗試使用以下 SQL 查詢計算事件總數。我正在使用全域 $wpdb 來回顯結果并將它們存盤到一個變數中。
global $wpdb;
$current_d_t = strtotime(date("y-m-d"));
$sql = "SELECT COUNT(post.ID) as eventCountUpcoming FROM wp_posts AS post LEFT JOIN wp_postmeta AS meta ON post.ID = meta.post_id WHERE post.post_type = 'ajde_events' AND meta.meta_key = 'evcal_erow' AND meta.meta_value > $current_d_t AND post.post_status = 'publish' GROUP BY post.ID";
$result = $wpdb->get_results($sql, ARRAY_A);
$result_more = $result->fetch_assoc();
$countEvent = $result_more['eventCountUpcoming'];
收到這個錯誤
呼叫陣列上的成員函式 fetch_assoc()
也嘗試了每個回圈,使用以下代碼,
foreach ($result as $result_more){
$countEvent = $result_more['eventCountUpcoming'];
}
但收到此錯誤:

uj5u.com熱心網友回復:
$result = $wpdb->get_results($sql, ARRAY_A); 回傳結果陣列。
為了回顯結果,請嘗試回圈陣列:
$result = $wpdb->get_results($sql, ARRAY_A);
foreach ($result as $res){
var_dump($result);
}
uj5u.com熱心網友回復:
如果您只是在尋找一個變數作為結果。您可以嘗試使用$wpdb->get_var()
global $wpdb;
$current_d_t = strtotime(date("y-m-d"));
$sql = "SELECT COUNT(post.ID) as eventCountUpcoming
FROM {$wpdb->posts} AS post LEFT JOIN {$wpdb->postmeta} AS meta
ON post.ID = meta.post_id
WHERE post.post_type = 'ajde_events'
AND meta.meta_key = 'evcal_erow'
AND meta.meta_value
> {$current_d_t}
AND post.post_status = 'publish';"
$result = $wpdb->get_var($sql);
那么$result應該是你的計數。
如果您只是計算帖子 ID,則不需要 Groupby
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/323220.html
標籤:WordPress的
上一篇:Woocommerce重定向到不同的感謝頁面上特定的運輸方式選擇
下一篇:默認產品簡短描述
