Hola juamd, gracias por la respuesta.
En realidad es algo mas que eso, porque no es solo contar la cantidad de mensajes y la cantidad de besos de cada usuario, ademas tengo que listar los IDs de la persona que los ha enviado. Los mensajes y besos estan en la misma tabla de la db, solo que en los besos, el campo "mensaje" contiene la cadena ***beso*** , por eso lo de "if ($mensaje == '***beso***') {".
En realidad la funcinalidad la he consegido hacer, pero con un script diferente, con dos While, uno dentro de otro, el primero consulta la tabla usuarios, y el segundo la tabla mensajes. Asi recorro la tabla usuarios, y por cada usuario recorro la tabla mensajes en busca de todos los datos que necesito para cada uno, el problema, que tarda una eternidad en terminar. Por eso lo de hacerlo con un solo bucle y una consulta anidada.
Esta era la primera versión de mi código, la que funciona pero tarda demasiado.
Código PHP:
<?
$sql_users = mysql_query("select id from users where sexo = 1 and buscasexo = 0",$dbc);
while($row_users = mysql_fetch_array($sql_users)){
$user = $row_users['id'];
$num_besos = 0;
$num_mensajes = 0;
$id_remitentes_besos = '';
$id_remitentes_mensajes = '';
echo '<b>'.$user.'</b><br>';
$ahora = time();
$ahora_G = date("G",$ahora);
if ($ahora_G < 15) {
$ahora_mod = $ahora - 64800;
}
else {
$ahora_mod = $ahora - 21600;
}
$sql_mensajes = mysql_query("select idremitente,mensaje,fecha from mensajes where iduser = '".$user."' and fecha > '".$ahora_mod."'",$dbc);
while($row_mensajes = mysql_fetch_array($sql_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)) {
if ($num_mensajes > 0){
echo ' Mensajes: '.$num_mensajes.'<br>';
echo ' Remitentes: '.$id_remitentes_mensajes.'<br>';
}
if ($num_besos > 0) {
echo ' Besos: '.$num_besos.'<br>';
echo ' Remitentes: '.$id_remitentes_besos.'<br>';
}
}
}
?>
Gracias.