no se si estoy haciendo lo correcto ya que quiero especificar varios datos
asi es como intento hacerlo escojiendo el mayor de id_msj
$delete2 = "SELECT id_msj FROM messajes WHERE id_usersend='$idder' AND id_userrecibe='$idreci' ORDER BY id_msj ASC limit 0,1";
y el menor sería así?
$delete2 = "SELECT id_msj FROM messajes WHERE id_usersend='$idder' AND id_userrecibe='$idreci' ORDER BY id_msj DESC limit 0,1";
no se si estoy haciendo bien al poner el ORDER despues de los WHERE
Si lo que quieres es borrar en un sistema de comentarios, cuando muestras el mensaje añadele un botón de borrado con el value= al id de su comentario y lo mandas a un borrar.php que borre ese id. Espero que te ayude!
Lo que quiero es que me elimine el primer mensaje escribido automaticamente al escribir otro
Cita de: SrTrp en 28 Diciembre 2017, 22:03 PM
Lo que quiero es que me elimine el primer mensaje escribido escrito automaticamente al escribir otro
Te recomiendo mantener un solo idioma en el código, ya sea inglés o español. id_usersend y id_userrecibe no esta para nada bien, te recomendaría usar CamelCase pero eso ya es gusto personal. Yo usaria de nombres en las tablas lo siguiente:
id_msj | --> | ID |
id_usersend | --> | SenderID |
id_userrecibe | -- | ReceiverID |
Esto para que sea mas mantenible tu código a futuro.
Respecto a lo que deseas hacer, si es literalmente obtener los datos con la información que tienes, lo estás haciendo bien
Para
obtener el ID del mensaje menor:
SELECT id_msj FROM messajes WHERE id_usersend='$idder' AND id_userrecibe='$idreci' ORDER BY id_msj ASC limit 1;
Para
obtener el ID del mensaje mayor:
SELECT id_msj FROM messajes WHERE id_usersend='$idder' AND id_userrecibe='$idreci' ORDER BY id_msj DESC limit 1;
Ahora, si lo que deseas es simplemente eliminar esos mensajes no veo necesidad de ejecutar dos queries cuando una puede hacerlo, actualmente obtienes el ID y supongo que despues haces un
DELETE FROM messajes WHERE id_msj = $delete2
Pero todo lo podias hacer desde la primer query que hiciste:
Para
borrar el ID del mensaje menor:
DELETE FROM messajes WHERE id_usersend='$idder' AND id_userrecibe='$idreci' ORDER BY id_msj ASC limit 1;
Para
borrar el ID del mensaje mayor:
DELETE FROM messajes WHERE id_usersend='$idder' AND id_userrecibe='$idreci' ORDER BY id_msj DESC limit 1;
Sin embargo, eso de los ID's no me convence completamente. Te recomiendo registrar la fecha y hora al momento del mensajey usar eso mejor... Pero ya es mas preferencia y organización que otra cosa.