Foros del Web » Programando para Internet » PHP »

Me coje el ultimo dato de la tabla no el que yo quiero por¿?

Estas en el tema de Me coje el ultimo dato de la tabla no el que yo quiero por¿? en el foro de PHP en Foros del Web. Tengo un problemon, tengo la tabla mensajes, la persona ve todos los mensajes que tiene, y al lado de cada correo hay un boton que ...
  #1 (permalink)  
Antiguo 27/02/2010, 10:22
Avatar de Binaryboy  
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Me coje el ultimo dato de la tabla no el que yo quiero por¿?

Tengo un problemon, tengo la tabla mensajes, la persona ve todos los mensajes que tiene, y al lado de cada correo hay un boton que al pichar te lleva a rec_mensajes.php y te muestra el mensaje seleccionado, pero elja el mensaje que elija siempre coje el ultimo valor de la tabla, aunque el remitente y mensaje sea distinto por¿?

Hos dejo lo que llevo

Mensaje_index.php

Código PHP:
Ver original
  1. <form action="rec_mensajes.php" method="post" >
  2.         <?
  3.           $sql='SELECT * FROM arroyo_mensajes WHERE MAIL="'.$_SESSION['user'].'"';
  4.           $resultado=mysql_query($sql, $enlace);
  5.           while($registro=mysql_fetch_array($resultado))
  6.         {
  7.             $remitente=$registro['REMITENTE'];
  8.             $contenido=$registro['MENSAJE'];
  9.            
  10.        
  11.              
  12.                
  13.                    
  14.                        echo "<input   type='text' name='quien' value='".$remitente."'/>";
  15.                        echo "<input   type='text' name='mail' value='".$contenido."'/>";
  16.                        
  17.                
  18.                
  19.                 echo "<input id='boton_ver'  type='submit' value='Ver MP'/><br/>";
  20.                 }
  21.                 ?>
  22.                 </form>
  23.                      
  24.                          <input id="notas_boton"  type="submit" value="Volver atrass" onclick = "location='enlace_alu.php'"/>
  25.                 </div> 
  26.                
  27.               </div>
  28.               "]

que al dar al boton te lleva aqui

Código PHP:
Ver original
  1. <?
  2.           $sql='SELECT * FROM arroyo_mensajes WHERE REMITENTE="'.$_POST['quien'].'" AND MENSAJE="'.$_POST['mail'].'"' ;
  3.           $resultado=mysql_query($sql, $enlace);
  4.          
  5.             echo $sql;
  6.        
  7.           ?>    
  8.                 <h2 class="titulo">MENSAJES RECIBIDOS</h2>
  9.                 <div class="informacion">
  10.                     <div class="texto">
  11.                    
  12.                        <input type="text" name="otro" value="De: <?echo $_POST['quien']?>"/>
  13.                        <textarea name="comentario"  rows="15" cols="80"><?echo $_POST['mail']?></textarea>
  14.                        
  15.                      
  16.                          <input id="notas_boton"  type="submit" value="Volver atras" onclick = "location='enlace_alu.php'"/>
  17.                 </div>

¿que veis mal¿?¿?
  #2 (permalink)  
Antiguo 27/02/2010, 10:37
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Me coje el ultimo dato de la tabla no el que yo quiero por¿?

No entiendo muy bien tu problema, pero si necesitas que traiga un dato mas especifico, te faltan filtros entonces...

Me podrias explicar un poco mejor?

El usuario hace click en el mensaje que quiere ver y cuando lo lleva a la otra pagina, no se le muestra ese mensaje?
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 27/02/2010, 10:54
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 1 mes
Puntos: 67
Respuesta: Me coje el ultimo dato de la tabla no el que yo quiero por¿?

Lo que pasa es que no debes algo así, eso no tiene sentido. Concretamente a tu problema. Te explico qué sucede. Tú usas un botton submit, pero varios submit y el cierre del submit también se repite por cada registro. Eso es ilógico, no debes emplear un form para hacer lo que quieres. Cuando envías el form, como tiene varias campos con el mismo name (algo que no debes haber) se obtiene el valor del último campo que tiene ese nombre.

Talvez lo único que necesites hacer sea colocar la etiqueta form dentro del while, de ese modo habrían varios forms cada uno con sus respectivos input y su respectivo submit, pero el submit también deberías colocarlo antes de cerrar el form. Bien.

Pero igual esa no es la forma. Lo más usual y lógico es hacer lo siguiente: En primer lugar los inputs son para llenar datos no para mostrarlos, solamente debes colocar esa info en tablas, en segundo lugar el botón no debe enviar un form, no debe haber ningún form porque no estás enviando info para ser procesada, debes enviar unos datos para que se impriman con cierto orden. Esos datos deben ser obtenidos mediante el id, y una consulta. El id debe ser enviado como parámetro de URL. Así es como se debería hacer lo que quieres, pero antes talvez quieras aplicar el primer consejo, pero de todas maneras te aseguro que no estás empleando correctamente la tecnología. Suerte!

Última edición por ElJavista; 27/02/2010 a las 12:19
  #4 (permalink)  
Antiguo 27/02/2010, 11:13
Avatar de Binaryboy  
Fecha de Ingreso: enero-2010
Mensajes: 31
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Me coje el ultimo dato de la tabla no el que yo quiero por¿?

Ok Ya esta arreglado, de todas formas muchisimas gracias por contestar
  #5 (permalink)  
Antiguo 27/02/2010, 11:23
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Me coje el ultimo dato de la tabla no el que yo quiero por¿?

Cita:
Iniciado por Binaryboy Ver Mensaje
Ok Ya esta arreglado, de todas formas muchisimas gracias por contestar
Estaria bueno que pongas la solucion, ya que le podria servir a otros usuarios. O por lo menos da la explicacion...
__________________
HV Studio
Diseño y desarrollo web

Etiquetas: dato, ultimo, 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 14:15.