Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

[SOLUCIONADO] Obtener datos de dos tablas diferentes

Estas en el tema de Obtener datos de dos tablas diferentes en el foro de WordPress en Foros del Web. Hola qué tal. Lo que estoy haciendo es un sistema de comentarios con estrellas con el plugin Advanced custom fields lo que me falta es ...
  #1 (permalink)  
Antiguo 04/11/2015, 15:42
zaez
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Obtener datos de dos tablas diferentes

Hola qué tal.

Lo que estoy haciendo es un sistema de comentarios con estrellas con el plugin Advanced custom fields lo que me falta es obtener el promedio de de todos los comentarios, pero por cada post

el código que estoy usando para sumar todas las calificaciones es:

Código PHP:
<?php
// set the meta_key to the appropriate custom field meta key
$meta_key 'star';
$allstars $wpdb->get_var$wpdb->prepare
    
"
        SELECT sum(meta_value) 
        FROM $wpdb->commentmeta 
        WHERE meta_key = %s
        
    "

    
$meta_key
) );
echo 
"<p>Total {$allstars}</p>";

?>

pero este código me da el total de todos los comentarios del sitio, cual es la manera de obtener el total por cada post?


después tengo planeado dividir el número entre el total de comentarios del post imagino que será con wp_count_comments();

Si alguien pudiera ayudarme estaría muy agradecido.
  #2 (permalink)  
Antiguo 05/11/2015, 10:05
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 8 meses
Puntos: 1146
Respuesta: Obtener datos de dos tablas diferentes

Tienes que hacer JOIN con la tabla comments y la tabla post si es que quieres saber a que post corresponde.
  #3 (permalink)  
Antiguo 05/11/2015, 17:18
zaez
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo Respuesta: Obtener datos de dos tablas diferentes

Muchas gracias por la ayuda, al final quedó así por si a alguien le sirve

Código:
SELECT SUM(meta_value) 
	FROM $wpdb->commentmeta 
	LEFT JOIN $wpdb->comments ON $wpdb->commentmeta.comment_id = $wpdb->comments.comment_ID
	WHERE meta_key = 'star'
	AND comment_post_ID = $post->ID
	AND comment_approved = '1'
y para el número de comentarios es
Código:
get_comments_number( $post_id );

Etiquetas: comentarios, meta, post, sql, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:59.