De ce nu funcționează COUNT(*) cu $wpdb în WordPress
4 nov. 2011, 18:18:47
Vizualizări: 14.7K
Voturi: 5
Înțeleg cum să fac interogări simple și să afișez rezultatele folosind $wpdb. Acesta este procesul meu:
<?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 } ?>
Acum, dacă interogarea mea este mai complexă și include COUNT(*), ca în exemplul următor:
<?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;'; ?>
Aceasta ar trebui să returneze:
--------+------------+----------+
Post ID | Titlu Post | Count(*) |
--------+------------+----------+
1 | "Postul meu" | 6
2 | "Bună..."| 5
Este OK să fac astfel?
<?php $wpdb->get_results($sql, ARRAY_N); ?>
și apoi, pentru a obține numărul,
<?php echo $row[2]; ?>
EDIT: Se pare că este chiar atât de simplu, nu trebuie să fac nimic altceva, $row[x] va funcționa.

21zna9
381
Comentarii
Toate răspunsurile la întrebare
1
0
Poți folosi simplu echo $wpdb->get_var( $sql )
:

scribu
13.2K
5 nov. 2011 02:57:40
Întrebări similare
1
răspunsuri
2
răspunsuri
5
răspunsuri
1
răspunsuri