Foros del Web » Programando para Internet » PHP »

Mensajes recibidos?

Estas en el tema de Mensajes recibidos? en el foro de PHP en Foros del Web. Hola, me encuentro con otro problema en mi sistema de mensajes y es que en el apartado perfil, que te dice el número de mensajes ...
  #1 (permalink)  
Antiguo 29/12/2009, 09:44
Avatar de breakervans  
Fecha de Ingreso: noviembre-2009
Ubicación: Vigo, España
Mensajes: 133
Antigüedad: 14 años, 5 meses
Puntos: 1
Mensajes recibidos?

Hola, me encuentro con otro problema en mi sistema de mensajes y es que en el apartado perfil, que te dice el número de mensajes nuevos que tienes, no me funciona. Me dice únicamente que no tengo mensajes, aunque tenga nuevos o ya leidos. Este es el código, en que fallo?

Código PHP:
<?php
$username 
$_COOKIE['loggedin'];
if (!isset(
$_COOKIE['loggedin'])) die("<a href=../login.html></a>");
echo 
"";
?> <?php

$i 
1;
$nuevos 0;
include(
"conexion.php");

$query mysql_query ("SELECT * FROM mensajes WHERE para = '$username' AND leido <1 ORDER BY fecha DESC");

while ( 
$row mysql_fetch_array($query) ) {

    if ( 
$row['para'] == $username ) {

if ( 
$row[leido] < ) {
    
$nuevos $nuevos +1;
}

if ( 
$row[leido] < ) {
    
$mensajesnuevos .= "</B>";
}

    
$tiene "Si";
    
$i $i+1;
    }


}


if ( 
$nuevos == ) {
$nuevos "Ninguno";
}
    if ( 
$tiene != "Si" ) {

    echo 
"<font size=1 face=Tahoma>No tienes mensajes, $username";

    }
    else {
    
$j $i -1;
    echo 
"<font size=1 face=Tahoma>Tienes <b>$j</b> mensajes.<br><B>$nuevos</b> son nuevos.";

    }
?>
__________________
Diseño portadas para discos, interesados contactad conmigo.
  #2 (permalink)  
Antiguo 29/12/2009, 09:57
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Mensajes recibidos?

exactamente que error no te funciona ,

puedes ser mas explicito?


$username esta var de donde sale?
  #3 (permalink)  
Antiguo 29/12/2009, 09:57
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: Mensajes recibidos?

Primeramente: Si ya en la consulta SELECT pones la condicion para = '$username' no es necesario que luego añadas if ( $row['para'] == $username ) { , su puestamente solo estamos recogiendo los datos para dicho usuario

Segundo: Te recomiendo directamente en MYSQL contar los registros con una sentencia del tipo:
SELECT COUNT(*) as total FROM mensajes WHERE para = '$username' AND leido <1

En este caso tendrias el total de mensajes no leidos en $row['total']

Prueba con esto a ver si funciona
  #4 (permalink)  
Antiguo 29/12/2009, 14:40
Avatar de breakervans  
Fecha de Ingreso: noviembre-2009
Ubicación: Vigo, España
Mensajes: 133
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: Mensajes recibidos?

He borrado lo de if ( $row['para'] == $username ) { , y ahora me trae solo los mensajes nuevos, entonces ahora voy a probar a meter el código que me dijiste pero no se donde va, me podrías escribirlo en el código entero que puse al principio?
__________________
Diseño portadas para discos, interesados contactad conmigo.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:09.