web-dev-qa-db-ja.com

$ wpdbはCOUNT(*)をどのように処理しますか

$ wpdbを使用して簡単なクエリを実行し結果を表示する方法を理解しています。これは私のプロセスです:

<?php $sql = 'select * from wp_votes;'; ?>
<?php $votes = $wpdb->get_results($sql); ?>
<?php if ( !empty ( $votes ) ) { ?>
     <?php foreach ( $votes as $vote ) { ?> 
          <td><?php echo $vote->id; ?></td>
          <td><?php echo $vote->post_id; ?></td>
          <td><?php echo $vote->date_voted; ?></td>
     <?php } ?> 
<?php } ?> 

それでは、もし私の問い合わせがもっと複​​雑で、COUNT(*)が含まれているとしたら、どうでしょうか。

<?php $sql = 'select wp_votes.post_id, wp_posts.post_title, count(*) from wp_votes INNER JOIN wp_posts ON wp_votes.post_id = wp_posts.id group by wp_votes.post_id order by count(*) desc;'; ?> 

これは戻ります:

--------+------------+----------+
Post ID | Post Title | Count(*) |
--------+------------+----------+
1       |  "My post" |   6
2       |  "Hello..."|   5

こんなことをしても大丈夫でしょうか。

<?php $wpdb->get_results($sql, ARRAY_N); ?> 

そして、数を得るために、

<?php echo $row[2]; ?> 

編集:結局のところ、それは実際には非常に単純です、私は他に何もする必要はありません$ row [x]は動作します。

3
21zna9

echo $wpdb->get_var( $sql )を使えます。

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

7
scribu