Как $wpdb обрабатывает COUNT(*)
4 нояб. 2011 г., 18:18:47
Просмотры: 14.7K
Голосов: 5
Я понимаю, как выполнять простые запросы и выводить результаты с помощью $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;'; ?>
Этот запрос должен вернуть:
--------+------------+----------+
ID поста | Заголовок | Количество |
--------+------------+----------+
1 | "Мой пост"| 6
2 | "Привет..."| 5
Будет ли нормально, если я сделаю так?
<?php $wpdb->get_results($sql, ARRAY_N); ?>
и затем, чтобы получить количество:
<?php echo $row[2]; ?>
РЕДАКТИРОВАТЬ: Оказывается, это действительно так просто, мне не нужно делать ничего больше - $row[x] будет работать.

21zna9
381
Комментарии
Все ответы на вопрос
1
0
Вы можете просто использовать echo $wpdb->get_var( $sql )
:

scribu
13.2K
5 нояб. 2011 г. 02:57:40
Похожие вопросы
5
ответов
1
ответов