Je comprends comment faire des requêtes simples et afficher les résultats avec $ wpdb. Ceci est mon processus:
<?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 } ?>
Maintenant, que se passe-t-il si ma requête est plus compliquée, où il y a un COUNT (*) impliqué, comme ceci:
<?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;'; ?>
Cela devrait retourner:
--------+------------+----------+
Post ID | Post Title | Count(*) |
--------+------------+----------+
1 | "My post" | 6
2 | "Hello..."| 5
Serait-ce OK si je fais quelque chose comme ça?
<?php $wpdb->get_results($sql, ARRAY_N); ?>
et puis, pour obtenir le compte,
<?php echo $row[2]; ?>
EDIT: En fait, c'est aussi simple que cela, je n'ai rien d'autre à faire que $ row [x] fonctionnera.
Vous pouvez simplement utiliser echo $wpdb->get_var( $sql )
: