0

表でが同じであるmeta_valueすべてのインスタンスの(数値である)の合計を表示しようとしています。他の返信を見ると、次のようになりますが、何も返されません。post_idpostmeta

<?php     
    global $wpdb;

    $data = $wpdb->query("
        SELECT SUM(meta_value)
        FROM $wpdb->postmeta
        WHERE `post_id` = $post_id
                ");
    echo $data;
  ?>

他の答えと比較すると、これの何が悪いのか理解できません。ポインタはありますか?

ありがとう

4

4 に答える 4

0

さて...あなたはデータベースに接続していますか?また、文字列内にオブジェクトプロパティを含める場合は、次のように中かっこで囲むとよいでしょう。

$data = $wpdb->query("SELECT SUM(meta_value)
                      FROM {$wpdb->postmeta}
                      WHERE `post_id` = $post_id
                     ");
于 2012-06-16T20:26:08.227 に答える
0

OK、カプセル化やget_results代わりに使用するなど、上記を反映するようにコードを変更しqueryましたが、返された結果として「配列」を取得するだけです。

        global $wpdb;

$data = $wpdb->get_results("
        SELECT SUM($wpdb->postmeta.meta_value)
        FROM {$wpdb->postmeta}
        WHERE `post_id` = the_id()
                ");
    echo $data;

foreach()結果の配列を循環させるためにループを使用する必要がありますか?データがあることも確認しましたが、それもthe_id()有効です

于 2012-06-17T08:54:15.687 に答える
0

SELECTing では、$wpdb->get_results()代わりに を使用する必要があり$wpdb->query()ます。

$wpdb->query()「…影響を受けた/選択された行の数に対応する整数を返します。」

http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results

于 2012-06-16T22:50:03.537 に答える
0

php 変数が複雑な場合はカプセル化します。

FROM {$wpdb->postmeta}
于 2012-06-16T20:28:42.643 に答える