Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Mostrar mensaje seleccionado

Estas en el tema de Mostrar mensaje seleccionado en el foro de PHP en Foros del Web. Hola gente, espero esten bien!. Estoy creando un sistema de mensajeria privada en mi web, y me he encontrado con un problema.. Resulta que yo ...
  #1 (permalink)  
Antiguo 11/10/2015, 15:10
 
Fecha de Ingreso: agosto-2015
Ubicación: Rosario - Argentina
Mensajes: 424
Antigüedad: 8 años, 8 meses
Puntos: 12
Mostrar mensaje seleccionado

Hola gente, espero esten bien!.

Estoy creando un sistema de mensajeria privada en mi web, y me he encontrado con un problema..

Resulta que yo tengo este codigo que es para mostrar la lista de mensajes que el usuario tiene sin leer o leidos


Código PHP:
<?
        $ver_mensajes 
mysqli_query($conexion,"SELECT * FROM mensajes WHERE id='".$_SESSION['id']."'");
        
$resultado_ver mysqli_num_rows($ver_mensajes);
        while(
$mostrar_mensajes mysqli_fetch_array($ver_mensajes,MYSQL_ASSOC)){
            
$titulo $mostrar_mensajes['titulo'];
            
$contenido $mostrar_mensajes['contenido'];
            
$remitente $mostrar_mensajes['remitente'];
            
$visto $mostrar_mensajes['visto'];
            if(
$visto==0){
                
$visto "No";
            }else{
                
$visto "Si";
            }
            echo 
"<tr id='lista_mensajes'>";
            echo 
"<td width='15%'>".$remitente."</td>";
            echo 
"<td width='20%'>".$titulo."</td>";
            echo 
"<td width='60%'>".substr($contenido,0,36)."..."."</td>";
            echo 
"<td width='5%' id='visto'>".$visto."</td>";
            echo 
"</tr>";
        }
    
?>
Ahora lo que yo quisiera saber como hacer es: que el usuario al seleccionar el mensaje que quiera leer se abra en una nueva ventana o en una ventana div de javascript.

El problema principal es que no se como hacerlo, dado a que no se como saber que mensaje a seleccionado el usuario.

Espero puedan orientarme un poquito. desde ya muchas gracias!
  #2 (permalink)  
Antiguo 11/10/2015, 15:54
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Mostrar mensaje seleccionado

Hola TrinityCore,

Sí que sabes qué mensaje ha seleccionado el usuario puesto que tienes el id, a partir de ahí, ya puedes trabajarlo.

Edito: Para tener el id, te faltaría añadirlo en la consulta:

Código PHP:
Ver original
  1. $titulo = $mostrar_mensajes['id'];

Espero que te sirva.

Última edición por rbczgz; 11/10/2015 a las 15:56 Razón: Faltaba una información
  #3 (permalink)  
Antiguo 11/10/2015, 16:42
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Mostrar mensaje seleccionado

Código PHP:
Ver original
  1. <?php
  2.         $ver_mensajes = mysqli_query($conexion,"SELECT * FROM mensajes WHERE id='".$_SESSION['id']."'");
  3.         $resultado_ver = mysqli_num_rows($ver_mensajes);
  4.         while($mostrar_mensajes = mysqli_fetch_array($ver_mensajes,MYSQL_ASSOC)){
  5.             $id = $mostrar_mensaje['id'];
  6.             $titulo = $mostrar_mensajes['titulo'];
  7.             $contenido = $mostrar_mensajes['contenido'];
  8.             $remitente = $mostrar_mensajes['remitente'];
  9.             $visto = $mostrar_mensajes['visto'];
  10.             if($visto==0){
  11.                 $visto = "No";
  12.             }else{
  13.                 $visto = "Si";
  14.             }
  15.             echo "<tr id='lista_mensajes'>";
  16.             echo "<td width='15%'>".$remitente."</td>";
  17.             echo "<td width='20%'><a href='mipagina.php?id=".$id."' target='-blanck'>".$titulo."</a></td>";
  18.             echo "<td width='60%'>".substr($contenido,0,36)."..."."</td>";
  19.             echo "<td width='5%' id='visto'>".$visto."</td>";
  20.             echo "</tr>";
  21.         }
  22.  
  23. ?>

Como puedes ver converti eltitulo en el enlace para ver el mensaje y le asigne que pae como variable la id del mensaje correspondiente para ser visualizado en la siguiente pagina:

y en la siguiente pagina recojo la id y visualizo el mensaje al mismo tiempo que actualizo el campo visto

Código PHP:
Ver original
  1. <?php
  2. $id = $_GET['id'];
  3.  
  4. $ver = $db->query("SELECT * FROM mensajes WHERE id = '$id'");
  5. if($ver){
  6.     $visto = $db->query("UPDATE mensajes SET visto = '1' WHERE id = '$id'");
  7. }
  8. //de aqiu para abajop el codigo con el que muestras el mensaje
  9. ?>
__________________
[email protected]
HITCEL
  #4 (permalink)  
Antiguo 11/10/2015, 18:19
 
Fecha de Ingreso: agosto-2015
Ubicación: Rosario - Argentina
Mensajes: 424
Antigüedad: 8 años, 8 meses
Puntos: 12
Respuesta: Mostrar mensaje seleccionado

Cita:
Iniciado por xfxstudios Ver Mensaje
Como puedes ver converti eltitulo en el enlace para ver el mensaje y le asigne que pae como variable la id del mensaje correspondiente para ser visualizado en la siguiente pagina
Gracias por comentar.

La verdad lo he cambido dado a que el ID es el id del usuario y no el id que por lo general lleva la Primary Key, por lo tanto el id pasa a ser inc.

La verdad no se que estoy haciendo mal, ya lo he hecho y no funciona, no actualiza los datos de VISTO y tampoco muestra el mensaje.

Este es el codigo que tengo:


Código PHP:
<?
    
require('include/config.php');
    
mysqli_select_db($conexion,$db_web)or die("Error al seleccionar la base de datos.");
    
$inc $_GET['inc'];
    
$ver mysqli_query($conexion,"SELECT * FROM mensajes WHERE inc = '$inc'");
    if(
$ver){
    
$visto mysqli_query($conexion,"UPDATE mensajes SET visto = '1' WHERE inc = '$inc'");
    }
    
//de aqiu para abajop el codigo con el que muestras el mensaje
    
$contenido_mensaje mysqli_query($conexion,"SELECT * FROM mensajes WHERE inc='inc'")or die(mysqli_error($conexion));
    
$resultado_contenido mysqli_num_rows($contenido_mensaje)or die(mysqli_error($conexion));
    while(
$contenido_mensaje mysqli_fetch_array($contenido_mensaje,MYSQL_ASSOC)){
        echo 
"<div id='post'><div id='post-titulo'><h1>".$contenido_mensaje['titulo']."</h1></div>";
        echo 
$contenido_mensaje['contenido']."</div>";
    }
    
?>
Creo que me he hecho lio con el ID y el INC

Mi talbla estaria asi:

Código:
inc = Primary Key es la que se auto-incrementa
id = id del usuario

bueno y lo demas ya lo sabeis, solo las cosa del mensaje
Agradeceria mucho una orientacion, me he liado demaciado con los ids y inc

gracias de antemano!
  #5 (permalink)  
Antiguo 11/10/2015, 21:42
 
Fecha de Ingreso: agosto-2015
Ubicación: Rosario - Argentina
Mensajes: 424
Antigüedad: 8 años, 8 meses
Puntos: 12
Respuesta: Mostrar mensaje seleccionado

Lo he solucionado, gracias a ambos, tiene mi punto de total agradecimiento!

Etiquetas: mensaje, mysql, seleccionado, select, sql
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:18.