Foros del Web » Programando para Internet » PHP »

PHP OO DeleteRow actualizo y vuelve aparecer

Estas en el tema de DeleteRow actualizo y vuelve aparecer en el foro de PHP en Foros del Web. hola buen dia, disculpen queria saber si me podrian auxilar en un pequeño problema que traego en php. no lo he podido solucionar espero y ...
  #1 (permalink)  
Antiguo 17/07/2014, 12:19
 
Fecha de Ingreso: julio-2014
Mensajes: 7
Antigüedad: 9 años, 9 meses
Puntos: 0
DeleteRow actualizo y vuelve aparecer

hola buen dia, disculpen queria saber si me podrian auxilar en un pequeño problema que traego en php. no lo he podido solucionar espero y me puedan ayudar por que ya lo intente de mil formas y no obtengo nada aun

lo que quiero hacer es lo siguiente : en una tabla muestro datos desde una bd de cuantos registros obtengo mediante la consulta, a si mismo en esa misma tabla muestro un boton para enviar un correo al cliente y me elimina la fila del cliente al que se le envio el correo todo esto lo tengo en una ventana emergente (popup) al darle click en un link, pero al momento de cerrar el popup o actualizarlo me vuelven aparecen de nuevo las filas que habian sido eliminadas con la funcion deleteRow(); y no quiero que me vuelvan a parecer esas filas a las cuales ya se les notifico con el correo enviado.

espero y me puedan ayudar.... se los agradeceria mucho!!!
  #2 (permalink)  
Antiguo 17/07/2014, 14:13
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 meses
Puntos: 12
Respuesta: DeleteRow actualizo y vuelve aparecer

Verifica que el proceso pasó por la función deleteRow(); y que esta función si funciona, de ser así, sí se elimino el registro, el problema es que debes refrescar el lugar donde te aparecen los registros
  #3 (permalink)  
Antiguo 17/07/2014, 15:43
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: DeleteRow actualizo y vuelve aparecer

Holas, cmao_13, y bienvenid@.

Tal parece que te falta guardar en algún lugar el registro de la acción realizada: vale decir, agregar a tu tabla un campo de tipo boolean que te permita tanto actualizar como consultar el estado de envío de correo asociado a ese registro.

Esto es, cuando ejecutas la acción deleteRow(), si la operación de envío de correo fue exitosa, cambias el valor del campo a True. En tu consulta del popup deberás siempre filtrar por ese campo, de modo que te muestre sólo los que tienen ese campo en False.

La alternativa a todo esto, si es que no te interesa llevar el registro del correo enviado, es que almacenes ese mismo dato pero en la sesión activa de la página, de modo de consultarla a ella y no a la BD.

Son ideas ;)
Saludos!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #4 (permalink)  
Antiguo 18/07/2014, 09:30
 
Fecha de Ingreso: julio-2014
Mensajes: 7
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: DeleteRow actualizo y vuelve aparecer

Buenos dias

Muchas gracias por el apoyo,

Aquí les dejare el código para que visualicen como esta estructurado la forma en que mando a llamar la tabla y como elimino las filas con la función deleteRow(); para ver si realmente se puede solucionar ese error de ante mano muchas gracias, saludos!!

si me podrían dar un consejo para mejorar esto, se los agradeceria mucho....

Este php lo mando llamar desde un popup!
<html>
<head>
<script language="javascript">
function deleteRow(r)
{
var i = r.parentNode.parentNode.rowIndex;
document.getElementById("tabla").deleteRow(i);

}


</script>
</head>

<form name="formul">
<table id="tabla" border=".5" cellpadding="12" cellspacing="0">

<tr>
<th colspan=6> DATOS DEL CLIENTE</th>
<tr>
<th> Nombre </th>
<th > Poliza </th>
<th> Vigencia </th>
<th > Aviso </th>
<th > Tipo seguro </th>
<th > Enviar correo </th>
</tr>
</tr>

<?php
mysql_connect("localhost","root","");
mysql_select_db("seguros");
$hoy = date("Y-m-d");


$lista= "select nombre_cliente, poliza, fecha_vigencia as vigencia,
date_add(fecha_vigencia, interval - 1 month ) as avisar,tipo_seguro, correo,
count(date_add(fecha_vigencia, interval - 1 month ))
from autos where date_add(fecha_vigencia, interval - 1 month ) = '$hoy'

union

select nombre_cliente, poliza, fecha_vigencia as vigencia,
date_add(fecha_vigencia, interval - 1 month ) as avisar,tipo_seguro, correo,
count(date_add(fecha_vigencia, interval - 1 month ))
from vida where date_add(fecha_vigencia, interval - 1 month ) = '$hoy'

union

select nombre_cliente, poliza, fecha_vigencia as vigencia,
date_add(fecha_vigencia, interval - 1 month ) as avisar,tipo_seguro, correo,
count(date_add(fecha_vigencia, interval - 1 month ))
from hogar where date_add(fecha_vigencia, interval - 1 month ) = '$hoy'

union

select nombre_cliente, poliza, fecha_vigencia as vigencia,
date_add(fecha_vigencia, interval - 1 month ) as avisar,tipo_seguro, correo,
count(date_add(fecha_vigencia, interval - 1 month ))
from gastos_medicos where date_add(fecha_vigencia, interval - 1 month ) = '$hoy'";

$consulta=mysql_query($lista);




while($row=mysql_fetch_row($consulta)){

$hoy = date("Y-m-d");




if($row[3] == $hoy)
{

$enviar = "enviar correo";


$row[6];


echo "<tr>
<td align='center' width='10%'> $row[0] </td>
<td align='center' width='10%'> $row[1] </td>
<td align='center' width='10%'> $row[2] </td>
<td align='center'width='10%' > <mark> $row[3] </mark></td>
<td align='center' width='10%'> $row[4] </td>
<td align='center'width='10%'><a href='mailto:$row[5]?subject=.
&body=Estimado $row[0]: \t Por este medio le hacemos la notificaci&oacute;n de que su p&oacute;liza
con n&uacute;mero $row[1], est&aacute; pr&oacute;xima a vencer, por lo cual se le hace un breve
recordatorio, para que efectu&eacute; el pago que se estipulo el d&iacute;a de su contrato.

Atte.

'onclick='deleteRow(this)'> <input type='submit' value='enviar'/> </a> </td>
</tr>";



}

}







?>
</table>
</form>

</html>

Última edición por cmao_13; 18/07/2014 a las 09:32 Razón: razones de empresa

Etiquetas: registro, tabla, vuelve
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 09:27.