Alerta ALTA DOBLE

Hola. Mi consulta es la sig.:
Tengo una BD con propiedades cargadas. Hice un formulario para hacer ALTAS. A través de él el usuario carga las características del inmueble. Debajo del form hay un botón para confirmar el ALTA. Ahora bien, lo que no sé cómo hacer es que si la propiedad ya está en la BD -cosa que ya pude hacer detectar- muestre un mensaje tipo
Esta propiedad ya se encuentra cargada en la BD.
¿Desea reemplazar los datos anteriores por los nuevos?
SI / NO

Si elige SI, hago el reemplazo y aviso que se hizo el cambio (esto lo sé hacer).
Si elige NO, quiero que vuelva a la pantalla donde estaba el formulario anterior.
Conclusión: lo que está en negrita y subrayado es en lo que necesito ayuda para resolver mis problemas.
Muchas gracias.
Mariela, Mar del Plata (Argentina)

3 respuestas

Respuesta
1
Pues antes de hace el insert en la base de datos consulta primero es hay registros de ese usuario.. si hay registros.. entonces le muestras el mensaje.. para ese proceso es mejor usar ajax.. investiga un poco en google.. yo he puesto algunos ejemplos de eso aquí. Puedes buscarlos
Respuesta
1
Haber si te puede ayudar esto:
<a href="scriptAlta.php?codImueble=3223&direccion=avenida......" >< SI</a>
y en scriptAlta en el body poner:
<body onload="setTimeout(history.back(-1), 5000);">
Para que se muestre el mensaje durante un tiempo y luego vuelva.
Para cuando dice que no.
<a href="#" onClick="history.go(-1)"><< NO</a>
También puedes hacer uso de ajax para que no parezca que te mueves de una página a otra. En este caso ya no tendrías ningún problema, y ademas queda más profesional.
Te pondré un ejemplo sacado de algo echo por mi (Si te lías con el código te podría pasar el ejemplo funcionando.)
function nuevoAjax(){// no necesitas entender que hace solo usala.
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;
}
Esta función la llamas como quieras usando javascript (al enviar un formulario al hacer click en un enlace, como quieras...)
function refrescarbd(){
// resultado mensaje es el id del div que contendrá tu mensaje
c = document.getElementById('resultado_mensaje');
ajax=nuevoAjax();// usa la función definida arriba.
// Esta linea sustituye el contenido que tuviera el div hasta ese momento por lo que quieras yo le pongo una animación gif a modo de "preloader".
c.innerHTML = '
<p style="text-align:center;"><img src="imagenes/loading/corredor.gif"/></p>
'; 
// esta linea ejecuta la dirección pasada ( se pueden pasar parámetros si quieres añadiendo ?var1=dsad&var2=222......)
ajax.open("POST", "bdrefresh.php",true);
ajax.onreadystatechange=function()
{if (ajax.readyState==4) {
// la salida del script ejecutado la guarda en el interior del div
c.innerHTML = ajax.responseText;}}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send()
}
Este seria el div que recibirá los datos:
<div id="resultado_mensaje" style="width:300px; height:30px;text-align:center;  ">
Respuesta
1
Deberías intentar con retroceder el navegador ( busca un jScript def Navigation_back para el lenguaje que estés usando en google).
El problema es que te habrá perdido los datos del formulario seguramente por lo que primero tendrías que almacenarlos en sesión y luego volver a mostrarlos. O bien reiniciar la pantalla.
Otra opción es actualizar siempre los datos sin preguntar, pero eso ya es cuestión de como quieras que se comporte el programa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas