Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/02/2010, 15:06
Avatar de webness
webness
 
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: eliminar imagen de db y carpeta con javascript y ajax

Bueno, me surge una duda si manejas ajax, pero para ello buscate un tutorial, ahora bien asumiendo que sabes, debes de hacer algo como esto

encierra cada foto en un <div> con un id unico es decir algo como esto

<div id=carro_128><img src=foto_128.jpg></div>
--->este seria el codigo html resultante de ejecutar el php que muestra las fotos.
--->tambien asumimos que 128 es el id de la foto en la tabla de fotos para los productos

al ladito ponle un boton o una imagen de eliminar a la cual le añades el evento onClick asi:

<img src = "eliminar.jpg" onclick = "eliminar_ajax(128);" >

ahora bien esta funcion eliminar, la haces en javascript implementando ajax

seria algo mas o menos asi
Código Javascript:
Ver original
  1. function createAjax()
  2. {
  3.     var objAjax = false;
  4.    
  5.     if (window.XMLHttpRequest)
  6.     {
  7.         objAjax = new XMLHttpRequest ();
  8.     }
  9.     else
  10.     {
  11.         if (window.ActiveXObject)
  12.         {
  13.             try
  14.             {
  15.                 objAjax = new ActiveXObject ("Msxml2.XMLHTTP");
  16.             }
  17.             catch (e)
  18.             {
  19.                 try
  20.                 {
  21.                     objAjax = new ActiveXObject ("Microsoft.XMLHTTP");
  22.                 }
  23.                 catch (e)
  24.                 {
  25.                 }
  26.             }
  27.         }
  28.         else
  29.         {
  30.             objAjax = false;
  31.         }
  32.     }
  33.     return objAjax;
  34. }
  35.  
  36. function eliminar(id_foto)
  37. {
  38.     var ajax = createAjax();
  39.     ajax.open("POST", "eliminar_foto.php",true);
  40.  
  41.     ajax.onreadystatechange=function()
  42.     {
  43.         if (ajax.readyState == 4)
  44.         {
  45.               //AQUI DEBES DE PONER EL CODIGO RESPECTIVO PARA ELIMINAR DEL NAVEGADOR
  46.               // EL DIV EN CUESTION o simplemente hacer su contenido vacio, que es lo que hare
  47.              document.getElementById("carro_"+id_foto).innerHTML = "";
  48.              document.getElementById("div_mensajes").innerHTML
  49.         }
  50.         else
  51.         {
  52.             document.getElementById("div_mensajes").innerHTML = "<br><center>Eliminando<img src = 'images/ajax-loader.gif' /></center>";
  53.         }
  54.     }
  55.  
  56.     ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  57.     ajax.send("id_foto="+id_foto);
  58. }

de esto cabe resaltar que en el fichero eliminar_foto.php haces el codigo necesario para borrar la foto y no imprimes nada en pantalla. la variable fue enviada via post para que la recibas con $_POST["id_foto"]

el <div> llamado <div id="mensajes"></div> es un div que pones en algun lugar estrategico de tu pagina, y lo que se alli es mostrar la imagen de procesar mientras que se bborra la foto.