admin管理员组文章数量:1321245
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.
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 edited Nov 5, 2011 at 0:22 21zna9 asked Nov 4, 2011 at 16:18 21zna921zna9 3812 gold badges7 silver badges19 bronze badges 3 |1 Answer
Reset to default 8You can just use echo $wpdb->get_var( $sql )
:
https://developer.wordpress/reference/classes/wpdb/
本文标签: databaseHow does wpdb handle COUNT(*)
版权声明:本文标题:database - How does $wpdb handle COUNT(*) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742097427a2420636.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
OK
do you meanCan my query be improved?
orWill this query work?
– v0idless Commented Nov 4, 2011 at 16:32