Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Eliminar registros de MySQL sin recargar página

Estas en el tema de Eliminar registros de MySQL sin recargar página en el foro de Frameworks JS en Foros del Web. Hola a todos, en mi blog el cual programé en PHP quiero implementar algunas cositas con AJAX, entre ellas eliminar registros sin que haya necesidad ...
  #1 (permalink)  
Antiguo 14/12/2007, 21:11
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 10 meses
Puntos: 4
Eliminar registros de MySQL sin recargar página

Hola a todos, en mi blog el cual programé en PHP quiero implementar algunas cositas con AJAX, entre ellas eliminar registros sin que haya necesidad de que se recargue la página, yo por ahora lo tengo funcionando sólo con PHP, y funciona bien, pero no tengo mucha idea de cómo poder hacer lo mismo pero echando mano de AJAX, espero que que me puedan echar una mano. Gracias de antemano.

Saludos.
  #2 (permalink)  
Antiguo 17/12/2007, 14:18
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 17 años, 1 mes
Puntos: 14
Re: Eliminar registros de MySQL sin recargar página

Hola

Código:
function nuevoAjax(){
	var xmlhttp=false;
 	try {
 		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 	} catch (e) {
 		try {
 			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
 		} catch (E) {
 			xmlhttp = false;
 		}
  	}

	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
 		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}
//---------------------------------------------------
function eliminar(elId){
	var contenedor;
	contenedor = document.getElementById('contenedor');
       
	ajax=nuevoAjax();
	ajax.open("GET", "elPhp.php?idEliminar="+elId,true);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			contenedor.innerHTML = ajax.responseText
		}
	}
	 ajax.send(null)
}
con este javascript pasas al php donde haces la eliminacion del registro el id que quieres eliminar.

en ese php tendrias entre otras cosas:
Código PHP:
$idEli $_REQUEST["idEliminar"];

$sql ="delete from tabla where id = $idEli"
Espero te sea de ayuda
  #3 (permalink)  
Antiguo 17/12/2007, 17:25
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 10 meses
Puntos: 4
Re: Eliminar registros de MySQL sin recargar página

Muchas gracias era lo que necesitaba y me ha funcionado correctamente, una consulta más, cómo podria hacerse que cuando le de en eliminar el registro este desaparezca como un "fade out" o que mientras se estén procesando los datos aparezca un gif "cargando..."?, gracias de nuevo.

Saludos

Edición: Pensé que funcionaba correctamente cuando lo probé en una simple consulta, pero al insertarlo en el archivo donde está el post y sus comentarios al eliminar uno de ellos aparece una "copia" completa de toda la página encima de esta y no entiendo por qué, alguna idea?

Última edición por ZydRick; 17/12/2007 a las 18:52
  #4 (permalink)  
Antiguo 18/12/2007, 11:16
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 17 años, 1 mes
Puntos: 14
Re: Eliminar registros de MySQL sin recargar página

quiza sea que estas haciendole submit al formulario, esto hara que siempre se te recargue la pagina si tienes el action del formulario en blanco o vacio. mejor pon algo de tu codigo para ver si te puedo ayudar
  #5 (permalink)  
Antiguo 18/12/2007, 14:53
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 10 meses
Puntos: 4
Re: Eliminar registros de MySQL sin recargar página

Cita:
quiza sea que estas haciendole submit al formulario, esto hara que siempre se te recargue la pagina si tienes el action del formulario en blanco o vacio. mejor pon algo de tu codigo para ver si te puedo ayudar
No uso botones de formulario para eliminar registros sino enlaces <a onclick="eliminar(id_post)">, pero ya lo pude arreglar, gracias por la ayuda foreverOdd
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 00:20.