Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

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.

share|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? –  21zna9 Nov 4 '11 at 16:50
    
Nevermind, so it does work. –  21zna9 Nov 5 '11 at 0:21

1 Answer 1

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

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

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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