it-swarm.com.de

Wie geht $ wpdb mit COUNT um (*)

Ich verstehe, wie man einfache Abfragen macht und Ergebnisse mit $ wpdb anzeigt. Das ist mein Prozess:

<?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 } ?> 

Was ist nun, wenn meine Abfrage komplizierter ist und es sich um ein COUNT (*) handelt?

<?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;'; ?> 

Dies sollte zurückgeben:

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

Wäre es in Ordnung, wenn ich so etwas mache?

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

und dann, um die Zählung zu bekommen,

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

EDIT: Es stellt sich heraus, es ist eigentlich nur so einfach, ich muss nichts anderes tun, $ row [x] wird funktionieren.

3
21zna9

Sie können einfach echo $wpdb->get_var( $sql ) verwenden:

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

7
scribu