Foros del Web » Programando para Internet » PHP »

Consultar a la BD y que me arroje Mensaje emergente

Estas en el tema de Consultar a la BD y que me arroje Mensaje emergente en el foro de PHP en Foros del Web. hice el siguiente cambio en el sql de la pagina consulta_rut que es la que esta definida en ajax y la que tiene el codigo ...

  #31 (permalink)  
Antiguo 16/11/2011, 15:15
 
Fecha de Ingreso: noviembre-2011
Mensajes: 29
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Consultar a la BD y que me arroje Mensaje emergente

hice el siguiente cambio en el sql de la pagina consulta_rut que es la que esta definida en ajax y la que tiene el codigo que tu me enviaste y y otra vez me redirecciona a la pagina consulta.php al hacer clic sobre el submit.... a ese cambio te referias tu cuando me dijiste que cambiara el sql de acuerdo a lo que se ingresaba en el input?

quedo atenta a tu respuesta


Código PHP:
Ver original
  1. ?php
  2. include("conexion.php");
  3. $dbi = Conectarse();
  4. $rut=$_POST[rut_cuenta];
  5.  
  6. $query=" SELECT RUT FROM CUENTAS WHERE RUT=$rut";
  7.  
  8. $res=mysql_query($query,$dbi);
  9.            
  10. if (mysql_num_rows($res) > 0) {
  11.     $data['existe'] = true;
  12. } else {
  13.     $data['existe'] = false;
  14. }
  15. // Se realiza el encoding para transformarlo a un objeto de json, para manipularlo mas facil en el ajax, este valor es el que en el ajax se evalua en el if (data.existe)
  16. echo json_encode($data);
  17.  
  18. ?>
  #32 (permalink)  
Antiguo 16/11/2011, 15:30
 
Fecha de Ingreso: noviembre-2011
Mensajes: 29
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Consultar a la BD y que me arroje Mensaje emergente

realice el siguiente cambio en el archivo consulta_rut.php que es el que corresponde al de ajax

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. $dbi = Conectarse();
  4. $rut=$_POST[rut_cuenta];
  5.  
  6. $query=" SELECT RUT FROM CUENTAS WHERE RUT=$rut";
  7.  
  8. $res=mysql_query($query,$dbi);
  9.            
  10. if (mysql_num_rows($res) =$rut) {
  11.     $data['existe'] = true;
  12. } else {
  13.     $data['existe'] = false;
  14. }
  15. // Se realiza el encoding para transformarlo a un objeto de json, para manipularlo mas facil en el ajax, este valor es el que en el ajax se evalua en el if (data.existe)
  16. echo json_encode($data);
  17.  
  18. ?>


como vez agregue la variable $rut que es el input que tomo del formulario y en el sql hago el where para filtrar los datos.

Al hacer esto nuevamente al hacer clic en el submit me redirecciona a la pagina consulta.php que es la que tengo en el action del form y no me arroja los mensajes =(

quedo atenta a tu respuesta
  #33 (permalink)  
Antiguo 16/11/2011, 16:33
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Consultar a la BD y que me arroje Mensaje emergente

Yo lo probaria asi:

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. $dbi = Conectarse();
  4. $rut=$_POST[rut_cuenta];
  5.  
  6. $query = "SELECT * FROM cuentas WHERE rut = '" . $rut . "'";
  7.  
  8. $res=mysql_query($query,$dbi);
  9.  
  10. // Si es mayor a 0 es que tiene resultados
  11. if (mysql_num_rows($res) > 0) {
  12.     $data['existe'] = true;
  13. } else {
  14.     $data['existe'] = false;
  15. }
  16. // Se realiza el encoding para transformarlo a un objeto de json, para manipularlo mas facil en el ajax, este valor es el que en el ajax se evalua en el if (data.existe)
  17. echo json_encode($data);
  18.  
  19. ?>


Probalo y avisame ;) copia y pega tal cual en tu php
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #34 (permalink)  
Antiguo 16/11/2011, 18:58
 
Fecha de Ingreso: noviembre-2011
Mensajes: 29
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Consultar a la BD y que me arroje Mensaje emergente

copie el codigo que me enviaste y aun sigue el mismo problema.... dejo de aparecerme los mensajes y pasa directo a la pagina que esta en el action del formulario al hacer clic en el submit =/.... lo que me di cuenta es que al hacer el where y crear la variable del input del formulario es cuando pasa esto de que se va a la otra pagina sin pasar por los mensajes.... tu que eres mas experto a que crees que se deba esto???....
  #35 (permalink)  
Antiguo 16/11/2011, 19:22
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Consultar a la BD y que me arroje Mensaje emergente

Fijate de cambiar el javascript del ajax por esto:

Código Javascript:
Ver original
  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>*
  2. <script language=Javascript>
  3. $(document).ready(function() {
  4.  
  5. $('#formulario').bind('submit', function(event) { // MANEJA EL EVENTO SUBMIT DEL FORMULARIO, #formulario ES EL ID DEL FORMULARIO
  6.          $.ajax({
  7.                   url: 'consulta_rut.php', // URL DEL ARCHIVO QUE CONTIENE EL SQL QUE VERIFICA LA EXISTENCIA
  8.                   type: 'post', // METODO POR EL CUAL ENVIA LOS DATOS
  9.                   dataType: 'json', // METODO POR EL CUAL RECIBE LOS DATOS
  10.                   data: { rut_cuenta: $('#rut_cuenta').val() },
  11.                   async: false, // SE HACE SINCRONICO PARA PODER EJECUTAR LOS ALERT CORRESPONDIENTES
  12.                   success: function(data) { // ESTADO DEL AJAX CUANDO DEVUELVE LOS DATOS DEL PHP, data ES EL QUE CONTIENE EL OBJETO CON LA RESPUESTA
  13.                           if (data.existe) {
  14.                                  // SI EXISTE SE PROCEDE A MOSTRAR EL ALERT
  15.                                  alert("Ya se encuentra en la base de datos");
  16.                                  event.preventDefault(); // CORTA EL SUBMIT
  17.                           } else {
  18.                                  // SI NO EXISTE SE PROCEDE A MOSTRAR EL CONFIRM
  19.                                  if (!confirm("Desea continuar con la carga?")) {
  20.                                        event.preventDefault(); // CORTA EL SUBMIT
  21.                                  }
  22.                                  // SI PASA POR ACA ES QUE SIGUE CON EL ENVIO DEL FORMULARIO
  23.                           }
  24.                     }
  25.              });
  26.        });
  27. });
  28. </script>

y en el html en el input de texto rut_cuenta agregale un id="rut_cuenta", entonces quedaria asi:

Código HTML:
Ver original
  1. <input type="text" id="rut_cuenta" name="rut_cuenta" size="35">

Hace esto y avisame ;)
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #36 (permalink)  
Antiguo 16/11/2011, 20:25
 
Fecha de Ingreso: noviembre-2011
Mensajes: 29
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Consultar a la BD y que me arroje Mensaje emergente

hice lo que me indicaste pero sigue lo mismo.... cuando paso el input a variable y coloco el where en el sql al hacer clic pasa a la pagina del ation directamente sin darme alertas =(
  #37 (permalink)  
Antiguo 17/11/2011, 06:57
 
Fecha de Ingreso: noviembre-2011
Mensajes: 29
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Consultar a la BD y que me arroje Mensaje emergente

Holaa!!!.... te cuento que al final encontre el problema de pq cuando agregabamos la variable del imput en la pagina php pasaba directo a la pagina de action!!.... uffff revisando el codigo me di cuenta de que la variable $rut=$_POST['rut_cuenta']; que era donde sacabamos el input del formulario estaba sin las comitas en el parentesis.... le agregue esas comitas y funciona a la perfeccion, cuando no existe el registro me advierte para seguir con la carga de la pagina y si existe me arroja un mensaje que dice que ya existe!!.... uffffff gracias!!! eres el mejor =)

asi que creo que este tema esta RESUELTOOO!!...

gracias nuevamente por toda tu paciencia!!
  #38 (permalink)  
Antiguo 17/11/2011, 06:59
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: Consultar a la BD y que me arroje Mensaje emergente

jajajajaja, buenisimo entonces, ya me parecia que era tema de php y no de js si no habias tocado el js desde que te anduvo... pero bieno, problema resuelto. Muchas suerte con eso ;) cualquier cosa ya sabés.

Saludos!
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com

Etiquetas: bd, consultar, emergente, formulario, mensaje
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 21:44.