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

Una pagina php en SUCCESS

Estas en el tema de Una pagina php en SUCCESS en el foro de Frameworks JS en Foros del Web. Hola a todos!!! Tengo un problema y no se como solucionarlo, tengo este código en ajax (abajo lo puse) para eliminar un item de una ...
  #1 (permalink)  
Antiguo 30/08/2011, 00:06
cym
 
Fecha de Ingreso: marzo-2011
Mensajes: 46
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta Una pagina php en SUCCESS

Hola a todos!!! Tengo un problema y no se como solucionarlo, tengo este código en ajax (abajo lo puse) para eliminar un item de una lista en la cuál tengo que pasar dos parámetros, mi problema está en que no se como poner una página php en success porque quiero que me vuelva a tirar el listado de los items sin el elemento que se borro. Espero que me puedan ayudar, ya que es la única parte que me falta para terminar mi trabajo de graduación. Saludos y Muchas Gracias!! :)

Código Javascript:
Ver original
  1. function EliminarMPC(documento_id, documento_eq){
  2.     var msg = confirm("¿Desea eliminar este dato? \n\n Se eliminaran todos sus datos asociados.")
  3.     if ( msg ) {
  4.           var msg2 = confirm("¿Está realmente seguro que desea eliminar este dato? \n\n Se eliminaran todos sus datos asociados.")
  5.          if ( msg2 ) {
  6.         $.ajax({
  7.             url: 'EliminarM2.php',
  8.             type: "GET",
  9.             data: "id="+documento_id+"&ideq="+documento_eq,
  10.             success: function(datos){
  11.             }
  12.         });
  13.     }
  14.         }
  15.     return false;
  16. }
  #2 (permalink)  
Antiguo 30/08/2011, 02:50
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 14 años, 5 meses
Puntos: 11
Respuesta: Una pagina php en SUCCESS

hola cym.

Una pregunta. Supongo que ya se estaran mostrando todos esos datos en pantalla. ...en ese caso, pq en el 'success' no haces una simple animacion que elimine ese elemento??

Esto es lo que se suele hacer en la mayoria de las paginas que he visto que hacen esto.
  #3 (permalink)  
Antiguo 30/08/2011, 10:08
cym
 
Fecha de Ingreso: marzo-2011
Mensajes: 46
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Una pagina php en SUCCESS

Hola oms02. Si, los datos ya se muestran en pantalla. Como hago para hacer lo que me dices?? La verdad que se muy poco de ajax y quisiera aprender. Muchas Gracias!!!
  #4 (permalink)  
Antiguo 30/08/2011, 11:45
Avatar de Copia  
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 15 años
Puntos: 4
Respuesta: Una pagina php en SUCCESS

Mira si ya tienes todos tus elementos mostrados, puedes borrar del documento solo el que deseas eliminar.

Estudia sobre remove o empty que te pueden servir.

Saludos.
__________________
Dejando una huella de mi existencia por la red en http://tiricaya.com
  #5 (permalink)  
Antiguo 30/08/2011, 15:02
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 14 años, 5 meses
Puntos: 11
Respuesta: Una pagina php en SUCCESS

que hay cym. vi tu mensaje pero olvide responderte. disculpa.

Depende de como tengas hecha la estructura de la pagina y los mensajes, se hara de una manera u otra, pero esencialmente se hace como te comenta Copia.

Tb se suele utilizar algun 'slideUp' o 'animate' para que quede "bonito".
Por ejemplo, si haces click en algun link de borrado o boton que estuviese dentro del div en el que englobas el documento (bien sea por su titulo o....etc...), podrias hacer algo asi como:

Código Javascript:
Ver original
  1. success: function() {
  2.         parent.slideUp(600,function(){
  3.         parent.remove();
  4.         });

Espero que te sirva. 1 saludo!!
  #6 (permalink)  
Antiguo 30/08/2011, 16:29
cym
 
Fecha de Ingreso: marzo-2011
Mensajes: 46
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Una pagina php en SUCCESS

Gracias oms02!! pero me tira error el código y no se que es lo que está mal puesto, probé en agregarle otro paréntesis, también probé con ponerle otro corchete, y ambos. Le saque corchetes y/o paréntesis y el error sigue....algo le falta al código...Gracias :)
  #7 (permalink)  
Antiguo 30/08/2011, 18:22
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 14 años, 5 meses
Puntos: 11
Respuesta: Una pagina php en SUCCESS

tienes razon cym, estupido de mi. se me olvido cerrar una llave. deberia ser algo como esto:
Código Javascript:
Ver original
  1. function EliminarMPC(documento_id, documento_eq){
  2.     var msg = confirm("¿Desea eliminar este dato? \n\n Se eliminaran todos sus datos asociados.")
  3.     if ( msg ) {
  4.           var msg2 = confirm("¿Está realmente seguro que desea eliminar este dato? \n\n Se eliminaran todos sus datos asociados.")
  5.          if ( msg2 ) {
  6.         $.ajax({
  7.             url: 'EliminarM2.php',
  8.             type: "GET",
  9.             data: "id="+documento_id+"&ideq="+documento_eq,
  10.             success: function() {
  11.                     parent.slideUp(600,function(){
  12.                     parent.remove();
  13.                     });
  14.             }
  15.         });
  16.     }
  17.         }
  18.     return false;
  19. }

pd: comprueba que efectivamente estoy accediendo bien al borrado del div (o lo que sea que quieres eliminar) en el DOM. Es que como no veo tu codigo no se como lo haces..
  #8 (permalink)  
Antiguo 30/08/2011, 21:32
cym
 
Fecha de Ingreso: marzo-2011
Mensajes: 46
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Una pagina php en SUCCESS

MUCHAS GRACIAS oms02!!! Funciona...pero no me refresca la página automáticamente, o sea me lo elimina de la base de datos pero tengo que poner refrescar en el navegador para que no aparezca más.
Aquí te dejo el código en el cuál listo lo de la base de dato, como puedo hacer para que se refresque solo?? Muchas gracias de nuevo!! :)

Código PHP:
Ver original
  1. <?php
  2. $_SESSION ['IdEquip'] = $_GET['ideq'];
  3. include ("cambiarfecha.php");
  4. include_once("../../Modelo/Mantenimientos.php");
  5. include_once("../../Controladores/GestorM.php");
  6.  
  7. $mio = listEM();
  8. $mio2 = listMMax($mio);
  9. $consultaEM= listEF($mio, $mio2);
  10. $documentoEM = mysql_fetch_array($consultaEM);
  11. $consulta = lisAM1($_SESSION ['IdEquip']);
  12. ?>
  13. <table border="0" cellspacing="0" cellpadding="0">
  14.     <tr>
  15.         <th>Tipo:</th>
  16.         <th>Responsable:</th>
  17.         <th>Fecha:</th>
  18.         <th>Protocolo:</th>
  19.         <th>Observaciones:</th>
  20.         <th colspan="3">Acciones</th>
  21.  
  22.     </tr>
  23.         <?php
  24.         if ($consulta) {
  25.             while ($documento = mysql_fetch_array($consulta)) {
  26.                      if ($_SESSION ['IdEquip']== $documento['IdEquipos']){
  27.         ?>
  28.             <tr>
  29.                 <td><?php echo $documento['TipoM'] ?></td>
  30.                 <td><?php echo $documento['Responsable'] ?></td>
  31.                 <td><?php $ff=$documento['FechaM']; echo normal($ff)?></td>
  32.                 <td><?php echo $documento['Protocolo'] ?></td>
  33.                 <td><?php echo $documento['ObsM'] ?></td>
  34.                 <?php if ('Preventivo'== $documento['TipoM']){ ?>
  35.                 <td width="50px"><a href="EditarMP.php?ideq=<?php echo $_GET['ideq']; ?>&idm=<?php echo $documento['IdMantenimientos']?>&ids=<?php echo $_GET['ids'];?>&idis=<?php echo $_GET['idis'];?>"><img src="http://www.forosdelweb.com/img/editar.png" title="Editar" alt="Editar" /> Editar</a></td>
  36.            
  37.                 <?php } else {  ?>
  38.                 <td width="50px"><a href="EditarMC1.php?ideq=<?php echo $_GET['ideq']; ?>&idm=<?php echo $documento['IdMantenimientos']?>&ids=<?php echo $_GET['ids'];?>&idis=<?php echo $_GET['idis'];?>"><img src="http://www.forosdelweb.com/img/editar.png" title="Editar" alt="Editar" /> Editar</a></td>
  39.                 <?php }   ?>
  40.                 <td width="75px"><a onclick="EliminarMPC(<?php echo $documento['IdMantenimientos'] ?>, <?php echo $documento['IdEquipos'] ?>); return false" href="EliminarM2.php?ideq=<?php echo $documento['IdEquipos']?>&id=<?php echo $documento['IdMantenimientos']?>&ids=<?php echo $_GET['ids'];?>&idis=<?php echo $_GET['idis'];?>"><img src="http://www.forosdelweb.com/img/eliminar.png" title="Eliminar" alt="Eliminar" />Eliminar</a></td>
  41.             </tr>
  42.     <?php
  43.                 }
  44.             }
  45.         }
  46.     ?>
  47.     </table>
  48. <?php
  49. ?>
  50.         <div id="paginacion">
  51.     <?php
  52.     ?>
  53. </div>
  #9 (permalink)  
Antiguo 04/09/2011, 18:59
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 14 años, 5 meses
Puntos: 11
Respuesta: Una pagina php en SUCCESS

Hola cym. Estuve unos dias de vacaciones. disculpa el retraso.

Osea,.... lo que quieres es ademas refrescar el listado???

En teoria creo que no necesitarias hacerlo, no? si tienes X datos, eliminas 1 de ellos y se ve la animacion de como se elimina, luego veras (sin necesidad de refrescar) los X-1 datos restantes.

No obstante, por si estoy un poco perdido, para refrescar el listado creo que solo tendrias que volver a llamar al php que se ocupa del listado en el div en el que lo muestras. Por ejemplo con un .get al final del codigo podrias hacerlo sin problemas. Echale un vistazo a ver que te parece:

http://api.jquery.com/jQuery.get/

1 saludo!
  #10 (permalink)  
Antiguo 05/09/2011, 21:09
cym
 
Fecha de Ingreso: marzo-2011
Mensajes: 46
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Una pagina php en SUCCESS

Hola oms02!!! espero que lo hayas pasado bárbaro en tus vacaciones. Me funciona perfecto el código que me pasaste, pero el problema es que presiono el botón (o link) que me hace el borrado) me lo borra de la Base de Datos pero no se elimina de la lista al instante tengo que apretar el botón de recargar (o actualizar) la página para que el listado me tire todos los datos de la base de datos menos la de la que borre, en síntesis la tengo que refrescar manualmente. Como puedo hacer para que haga eso solo?? arriba dejé el código en el cuál listo. Saludos y muchas gracias!!!
  #11 (permalink)  
Antiguo 07/09/2011, 17:46
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 14 años, 5 meses
Puntos: 11
Respuesta: Una pagina php en SUCCESS

Pues parece que es porque el selector esta apuntando a un elemento diferente del DOM del que quieres borrar.

Supongo que "parent().parent()" te funcionará, pero es una forma bastante poco elegante.

Prueba a poner en su lugar parent("tr") a ver que tal tira y me cuentas.

saludos!
  #12 (permalink)  
Antiguo 07/09/2011, 21:39
cym
 
Fecha de Ingreso: marzo-2011
Mensajes: 46
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Una pagina php en SUCCESS

Muchísimas gracias por tu dedicación oms02, pero no me funciona probé de ambas formas que me indicaste y no hay caso :(, tengo que seguir apretando el botón de actualizar página para que me liste...a través de un comando no se podrá hacer eso por una sola vez?? MUCHAS GRACIAS!!!
  #13 (permalink)  
Antiguo 08/09/2011, 04:23
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 14 años, 5 meses
Puntos: 11
Respuesta: Una pagina php en SUCCESS

Pues creo que tiene que estar ahi el asunto. Poderse hacer se puede hacer, seguro.

Te supone mucho problema poner un id a la etiqueta <tr> mas inmediata?? a la que encierra todo el documento que quieres borrar.

Si no te supone problema, ya sera facil hacerlo. por ejemplo:

Código HTML:
Ver original
  1. <tr id="loquesea">
  2.     <td><?php echo $documento['TipoM'] ?></td>
  3.     <td><?php echo $documento['Responsable'] ?></td>
  4.     <td>...</td>
  5.     <td>...</td>
  6. </tr>

En ese casi, seria asi:

Código Javascript:
Ver original
  1. $("#loquesea").slideUp(600,function(){
  2. $("#loquesea").remove();
  3. });
  #14 (permalink)  
Antiguo 11/09/2011, 23:28
cym
 
Fecha de Ingreso: marzo-2011
Mensajes: 46
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Una pagina php en SUCCESS

Hola oms02!!! Una vez más muchas gracias por tu ayuda!!! Me funciona con la indicación que me pasaste pero a medias....por ejemplo tengo listado 5 items y quiero eliminar por ejemplo el item 3, me saca el primer registro del listado de la interfaz (de la Base de datos me elimina el 3er item) y no el 3er item y después que presiono la tecla actualizar página ahí recién me arroja el listado con los item que corresponde. Te dejo un ejemplo así me entiendas mejor

Listado original ---> 1,2,3,4,5
presiono para eliminar el 3er item y me arroja el listado después de realizar la opción de eliminar ---> 2,3,4,5
después que presiono actualizar del navegador me arroja el listado ---> 1,2,4,5

Ya no se que hacer de verdad :(. Muchísimas gracias por tu ayuda!!!
  #15 (permalink)  
Antiguo 12/09/2011, 02:32
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 14 años, 5 meses
Puntos: 11
Respuesta: Una pagina php en SUCCESS

Cita:
Iniciado por cym Ver Mensaje
presiono para eliminar el 3er item y me arroja el listado después de realizar la opción de eliminar ---> 2,3,4,5
Cym, perdona el atrevimiento pero es que ese error me indica a pensar lo siguiente: el id tiene que ser totalmente unico. No puede haber 2 o mas id's iguales.

Por ejemplo (ya que veo mucho codigo php), puedes utilizar una variable $i a medida que listas todos los documentos. Cuando pinches en el documento X, averiguas el valor de $i y luego mandas eliminar el tag con id=loquesea_"VALORDE$I"
  #16 (permalink)  
Antiguo 12/09/2011, 18:15
cym
 
Fecha de Ingreso: marzo-2011
Mensajes: 46
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Una pagina php en SUCCESS

No hay problema oms02, todo sirve para aprender, te explico mejor, estoy utilizando 2 id porque es un par ordenado único, o sea que ese par nunca se repite.
Te comento como viene mi aplicación...tengo un listado con varios equipos eléctricos y cada equipo eléctrico tiene asociado muchos mantenimientos y/o reparaciones realizadas a ese equipo, por eso en mi código se ve que utilizo 2 id porque primero busco el equipo y luego me larga el listado de los mantenimientos, en ese mismo listado tengo un botón con la opción de eliminar. La eliminación del registro me funciona perfectamente que es cuando llama a la parte del código (línea 40)
Código PHP:
Ver original
  1. return false" href="EliminarM2.php?ideq=<?php echo $documento['IdEquipos']?>&id=<?php echo $documento['IdMantenimientos']?>&ids=<?php echo $_GET['ids'];?>&idis=<?php echo $_GET['idis'];?>">
que es una página en php donde hay una función en la cuál llama al stored procedure de la base de datos y me lo elimina al registro, si o si tengo q mandar 2 id, idequipo e idmantenimiento (los dos últimos id los paso para poder mostrar el nombre que tiene ese id pero de otra tabla, no los utilizo para el borrado). Mi problema radica (que creo que la mejor forma de hacerlo es con ajax, si hay otra forma la desconozco) es que me solicitan que antes de que el borrado se efectué pregunte dos veces si es seguro que desea borrar ese registro. Espero que se me haya entendido. Muchas gracias!!!

Etiquetas: ajax, ajax., php, success
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 19:53.