2
function get_entry_count($pagename) {
    global $wpdb;
    $count = $wpdb->get_results("SELECT COUNT( * ) FROM wp_fpc_rg_lead_detail WHERE form_id =12 AND field_number =5 AND value =  '$pagename'" );
    return $count[0]->count;
    }

    $numofpeople = get_entry_count($post->post_title);
    echo "$numofpeople people filled out the form";

上記のクエリを実行して、一致するレコード数を出力しようとしています。私が追加した場合:

print_r($count);

return コマンドの上に、次のように表示されます。

Array ( [0] => stdClass Object ( [COUNT( * )] => 7 ) )

7 つのレコードあります。戻り値は 7 である必要があります。

しかし、返された値 ( $count[0]->count; ) は null のようです..私はそれが何かばかげていると確信していますが、私はそれを動作させることができません.

4

1 に答える 1

2

COUNT(*)クエリでエイリアスを指定してみてください。次に、エイリアスをオブジェクトのプロパティとして参照できるようにする必要があります。以下の例では使用lead_detail_countしていますが、自由に変更してください。

function get_entry_count($pagename) {
    global $wpdb;
    $count = $wpdb->get_results("SELECT COUNT( * ) as lead_detail_count FROM wp_fpc_rg_lead_detail WHERE form_id =12 AND field_number =5 AND value =  '$pagename'" );
    return $count[0]->lead_detail_count;
}

get_results戻り値を変更する 2 番目のパラメーターを使用することもできます。コーデックスへのリンクは以下です。 http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results

于 2013-02-14T01:21:52.497 に答える