I understand how to do simple queries and display results using $wpdb. This is my process:

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

Now, what if my query is more complicated, where there is a COUNT(*) involved, like so:

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

This should return:

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

Would it be OK if I do something like this?

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

and then, to get the count,

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

EDIT: Turns out, it's actually just this simple, I don't have to do anything else $row[x] will work.

link|improve this question

1  
I'm not sure what you are trying to ask. By OK do you mean Can my query be improved? or Will this query work? – v0idless Nov 4 '11 at 16:32
Will this query work? – Ankur Nov 4 '11 at 16:50
Nevermind, so it does work. – Ankur Nov 5 '11 at 0:21
feedback

1 Answer

You can just use echo $wpdb->get_var( $sql ):

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

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.