Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/03/2009, 13:10
Gigatron
 
Fecha de Ingreso: julio-2004
Mensajes: 43
Antigüedad: 22 años, 3 meses
Puntos: 0
Consulta anidada y campos repetidos

Hola.

A ver si me podeis echar una mano que estoy un poco perdido.

Tengo un script que coge todos los mensajes y besos que se han mandado a un usuario, la idea en principio es poder mostrar en pantalla la suma de mensajes y besos por usuario, ejemplo:

usu 1
mensajes 2

usu 2
mensajes 1
besos 1

Pero lo que he consegido hasta ahora es esto:

usu 1
mensajes 1

usu 1
mensajes 1

usu 2
mensajes 1

usu 2
besos 1

La cuestion es que no se que estoy haciendo mal.
Este es el codigo:

Código PHP:
<?
$sql_mensajes 
= mysql_query("select users.id, mensajes.iduser, mensajes.mensaje, mensajes.fecha, mensajes.idremitente from users as users, mensajes as mensajes where mensajes.iduser = users.id",$dbc);
while(
$row_mensajes = mysql_fetch_array($sql_mensajes)){
    
$user = $row_mensajes['iduser'];
    
$num_besos = 0;
    
$num_mensajes = 0;
    
$id_remitentes_besos = '';
    
$id_remitentes_mensajes = '';
    
$idremitente = $row_mensajes['idremitente'];
    
$mensaje = $row_mensajes['mensaje'];
    if (
$mensaje == '***beso***') {
        
$num_besos = $num_besos + 1;
        
$id_remitentes_besos = 'ID:'.$idremitente.', '.$id_remitentes_besos;
    }
    else {
        
$num_mensajes = $num_mensajes + 1;
        
$id_remitentes_mensajes = 'ID:'.$idremitente.', '.$id_remitentes_mensajes;
    }
    if ((
$num_besos > 0) or ($num_mensajes > 0)) {
        echo 
'<b>'.$user.'</b><br>';
        if (
$num_mensajes > 0){
            echo 
'&nbsp;&nbsp;&nbsp;&nbsp;Mensajes: '.$num_mensajes.'<br>';
            echo 
'&nbsp;&nbsp;&nbsp;&nbsp;Remitentes: '.$id_remitentes_mensajes.'<br>';
        }
        if (
$num_besos > 0) {
            echo 
'&nbsp;&nbsp;&nbsp;&nbsp;Besos: '.$num_besos.'<br>';
            echo 
'&nbsp;&nbsp;&nbsp;&nbsp;Remitentes: '.$id_remitentes_besos.'<br>';
        }
    }
}
?>
Gracias.