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. Señores: Junto con saludarlos les comento que estoy diseñando un sitio y necesito lo siguiente: tengo un formulario que hace una consulta a la base ...

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

Señores:

Junto con saludarlos les comento que estoy diseñando un sitio y necesito lo siguiente:

tengo un formulario que hace una consulta a la base de datos y al hacer clik me lista el contenido de la consulta, lo que yo necesito es que al hacer clic en el boton genere una busqueda y que me arroje un mensaje emergente que indique que el dato buscado ya existe y si no haz clic aca, todo en la misma pagina pq como lo tengo yo al hacer clic me lleva a la pagina del action del formulario

espero me ayuden pq he buscado info y la verdad es que no encuentro lo que necesito.

gracias =)
  #2 (permalink)  
Antiguo 15/11/2011, 09:28
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

Lo podes lograr facil mediante ajax, en el evento success del ajax (que es cuando te devolvio info), verificas si tiene o no información y dependiendo de eso mostras el mensaje emergente con un alert y caso contrario un mensaje de confirm de javascript también y todo esto sin refrescar la página.

Cualquier cosa no dudes en preguntar
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 15/11/2011, 09:29
 
Fecha de Ingreso: noviembre-2011
Ubicación: Sevilla
Mensajes: 39
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Consultar a la BD y que me arroje Mensaje emergente

No se si te he entendido bien, pero supongo que la solución sería mandar los datos a una página que haga la consulta, guarde el resultado en una variable de sesion y al devolver la pagina, te haga un alert() de javascript. algo así como :

Código PHP:
formulario.php
{
...
javascript: function muestra()
{
   <? if (isset($_SESSION['resultado']))
        {
            echo 
"alert(".$_SESSION['resultado'].");"
        }
?>
}
<body onload="
    <? if (isset($_SESSION['resultado']))
         {
               echo 
"javascript:muestra()";
               unset(
$_SESSION['resultado']);
         }
    
?>">


<form action="consulta.php>
...
}
consulta.php
{
...
select...
$_SESSION['resultado']=resultado de la consulta
header ("Location: formulario.php");
}
  #4 (permalink)  
Antiguo 15/11/2011, 09:32
 
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

La verdad es que no se como funciona ajax solo manejo php si tubieras algun codigo donde muestre la consulta en php a la bd y luego como a travez de ajax me muestre ese4 mensaje te lo super agradeceria!!...

gracias=)
  #5 (permalink)  
Antiguo 15/11/2011, 09:37
 
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

lo que tengo es un formulario de inscripcion donde el usuario ingresa su rut y al dar clic en el boton se genera una busqueda de ese rut y si ya esta ingresado en la bd aparece un mensaje tipo "onmouseDown" donde indicara que el rut ya existe.... estoy muy perdida con este tema por fa ayudenme =/

gracias
  #6 (permalink)  
Antiguo 15/11/2011, 09:40
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

Si te muestro el codigo en jquery se sirve?? porque por javascript puro es medio engorroso y puede que me lleve mas tiempo hacerte un ejemplito.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #7 (permalink)  
Antiguo 15/11/2011, 09:47
 
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

sii... la idea es poder entender el codigo... asi es que si es mas simple esta genial

;)...
  #8 (permalink)  
Antiguo 15/11/2011, 10:03
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

Esta es la parte de javascript con jquery:

Código:
$(document).ready(function() {

    $('#formulario').bind('submit', function(event) { // MANEJA EL EVENTO SUBMIT DEL FORMULARIO, #formulario ES EL ID DEL FORMULARIO
        $.ajax({
            url: 'verificar.php', // URL DEL ARCHIVO QUE CONTIENE EL SQL QUE VERIFICA LA EXISTENCIA
            type: 'post', // METODO POR EL CUAL ENVIA LOS DATOS
            dataType: 'json', // METODO POR EL CUAL RECIBE LOS DATOS
            async: false, // SE HACE SINCRONICO PARA PODER EJECUTAR LOS ALERT CORRESPONDIENTES
            success: function(data) { // ESTADO DEL AJAX CUANDO DEVUELVE LOS DATOS DEL PHP, data ES EL QUE CONTIENE EL OBJETO CON LA RESPUESTA
                  if (data.existe) {
                      // SI EXISTE SE PROCEDE A MOSTRAR EL ALERT
                      alert("Ya se encuentra en la base de datos");
                      event.preventDefault(); // CORTA EL SUBMIT
                  } else {
                      // SI NO EXISTE SE PROCEDE A MOSTRAR EL CONFIRM
                     if (!confirm("Desea continuar con la carga?")) {
                           event.preventDefault(); // CORTA EL SUBMIT
                     }
                     // SI PASA POR ACA ES QUE SIGUE CON EL ENVIO DEL FORMULARIO
                 }
            }
        });
    });
});
Ahora el codigo HTML:

Código:
<form id="formulario" method="post" action="ingresar.php">
    <!-- FORMULARIO -->
</form>
Ahora el código PHP:

Código PHP:
$q "CONSULTA";
$rlt mysql_query($q$linkConexion);

// Se verifica si la consulta obtuvo resultados, si es > 0 es que ya existe en la base y seria para emitir el alert
if (mysql_num_rows($rlt) > 0) {
    
$data['existe'] = true;
} else {
    
$data['existe'] = false;
}

// 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)
echo json_encode($data); 
Avisame cualquier cosa que necesites ;)

Saludos!
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #9 (permalink)  
Antiguo 15/11/2011, 10:12
 
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

revise el codigo y tengo unas dudas.... el codigo de javascript se crea en un archivo js???... y si es asi en que momento se llama a esa funcion... perdona mi ignorancia pero no entiendo mucho esto de javascript.... y se me hace un poco complejo....
atenta a tu respuesta ;)
  #10 (permalink)  
Antiguo 15/11/2011, 10:21
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

El codigo javascript lo podes tener en otro archivo y lo incluis en el html con el tag <script></script> (si no sabes incluirlo avisame).

Igualmente el codigo js que te pase yo es con jquery, para que te funcione tenes que incluir la libreria de jquery, que es lo mismo que lo anterior pero con la ruta al archivo, que podes utilizar la que te ofrece los mismos desarrolladores de jquery. (si no sabes tambien te ayudo).

la funcion se llama sola cuando "escucha" el evento submit. Es decir que se ejecuta en cuanto le das al boton de enviar o como se llame en tu formulario.

Lo bueno de jquery es que tiene los listeners que te permite agregar acciones a casi todos los elementos html para que se ejecuten en cierto evento.

Cualquier cosa avisme ;)
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #11 (permalink)  
Antiguo 15/11/2011, 10:33
 
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

estoy trabajando con el codigo que mandaste y me aparece este error...

Fatal error: Call to undefined function: json_encode() in c:\phpdev\www\personal\consulta_rut.php on line 26
  #12 (permalink)  
Antiguo 15/11/2011, 10:49
 
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

"gualmente el codigo js que te pase yo es con jquery, para que te funcione tenes que incluir la libreria de jquery, que es lo mismo que lo anterior pero con la ruta al archivo, que podes utilizar la que te ofrece los mismos desarrolladores de jquery. (si no sabes tambien te ayudo)."

oye esta parte no la entendi tampoco.... donde obtengo esa libreria y donde se incluyen??

espero atenta tu respuesta
  #13 (permalink)  
Antiguo 15/11/2011, 11:20
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

La libreria de jquery la incluis de la siguiente forma dentro de los tags de <head></head>:
Código:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
y lo del error de json, puede que no tengas la libreria instalada, o bien no estas usando una version de php >= 5.2.0.
Proba entonces de hacer lo siguiente:

1º - saca el atributo dataType del ajax.
2º - cuando haces esta evaluacion en el ajax if (data.existe), modificalo para que quede así:if (data == 0)
3º - dentro del archivo php dejalo asi:
Código PHP:
$q "CONSULTA";
$rlt mysql_query($q$linkConexion);

// Se verifica si la consulta obtuvo resultados, si es > 0 es que ya existe en la base y seria para emitir el alert
if (mysql_num_rows($rlt) > 0) {
    echo 
1;
} else {
    echo 
0;

Fijate si con estos cambios funciona..
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com

Última edición por linuxzero; 15/11/2011 a las 11:31
  #14 (permalink)  
Antiguo 16/11/2011, 10:59
 
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

revise lo ultimo que me enviaste y ocurre que al hacer clic en el boton me envia a la pagina de consulta (la php) y aparece si esta en la base de datos un 1 y si no un 0, es decir, como que no pesca los alertas del ajax... =/

ojala estes para que me sigas ayudando
  #15 (permalink)  
Antiguo 16/11/2011, 11:32
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

Postea el codigo php y js de como lo tenes ahora, asi lo puedo seguir mejor
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #16 (permalink)  
Antiguo 16/11/2011, 12:27
 
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

oye estuve viendo y me di cuenta que tengo el php 4.3.2.... actualizare el php y te aviso ya??... oye de verdad muchas gracias por tu paciencia y buena dispocision para ayudarme ;)
  #17 (permalink)  
Antiguo 16/11/2011, 12:39
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

Dale no hay problemas, lo que necesites no dudes en preguntar ;)
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #18 (permalink)  
Antiguo 16/11/2011, 13:06
 
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

actualice el php y ocurre que cuando al formulario le ingreso un rut, me redirecciona a la pagina del php y me aparece un mensaje que dice {"existe":true}

este es el codigo:

para la pagina del formulario

prueba.php

<html>
<head>

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

</head>

ACA COMIENZA EL FORMULARIO


Código HTML:
Ver original
  1.  
  2. <form name=formulario method=post action=consulta_rut.php>
  3. <center>    <table border="0">
  4.  
  5.  
  6. <tr>
  7.  
  8. <td><input type=text name=rut_cuenta size=35></td>
  9.     </tr>
  10.  
  11.     </table>
  12.     </center>
  13. <center>
  14.  
  15. <a href="index.php">Cancelar</a> <input type=submit name=ingre value=Aceptar> </center>
  16.    
  17.     </form>
  18. </body>
  19. </html>


para la pagina que realiza la consulta

consulta_rut.php

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. $dbi = Conectarse();
  4.  
  5. $query=" SELECT RUT FROM CUENTAS";
  6.  
  7. $res=mysql_query($query,$dbi);
  8.            
  9. if (mysql_num_rows($res) > 0) {
  10.     $data['existe'] = true;
  11. } else {
  12.     $data['existe'] = false;
  13. }
  14. // 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)
  15. echo json_encode($data);
  16.  
  17. ?>


CON ESTE CODIGO OCURRE LO QUE TE DIJE AL COMIENZO DE ESTE MENSAJE.... Y YA DESAPARECE EL ERROR QUE TE COMENTE AYER.... ES DECIR, QUE ME FALTABA ACTUALIZAR PHP.... el problema de ahora es que no me carga las alertas del jquery.... al hacer clic en el boton del formulario en vez de que aparezcan los mensajes me redirecciona a la pagina del consulta_rut.php y aparece este mensaje
"{"existe":true}"

espero haber sido clara =/.... espero atenta
  #19 (permalink)  
Antiguo 16/11/2011, 13:15
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

Esta mal esta linea:

Código HTML:
Ver original
  1. <form name=formulario method=post action=consulta_rut.php>

el action del form es la misma que utiliza la consulta ajax, entonces al submitear el formulario va al php que deberias usar unicamente para realizar la consulta, no para el ingreso de datos entendes?. Por que al entrar a ese archivo luego de submitear te va a imprimir el json_enocode($data) y esto es solo para que se maneje por ajax.

el action del form deberia ser por ejemplo: ingresar.php, el cual va a ir a ese archivo siempre y cuando vos lo confirmes en el popup que te salta del ajax.
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #20 (permalink)  
Antiguo 16/11/2011, 13:36
 
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

perdona linuxzero pero no entendi mucho tu respuesta.... segun lo que entiendo es que el action del form no debe ser el mismo de que utiliza la consulta ajax?? en el formulario consulta_rut.php yo solo hago consultas no estoy ingresando nada ....
oye estoy un poco confundida... osea que debo hacer dos paginas una con lo que me enviaste tu y otra haciendo solo la consulta??... por fa explicame mas claro para poder entender que esto si que es nuevo para mi.... gracias =)
  #21 (permalink)  
Antiguo 16/11/2011, 13:44
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

Claro, el tema es asi:

Segun entiendo tu idea cuando decis esto:
Cita:
tengo un formulario que hace una consulta a la base de datos y al hacer clik me lista el contenido de la consulta, lo que yo necesito es que al hacer clic en el boton genere una busqueda y que me arroje un mensaje emergente que indique que el dato buscado ya existe y si no haz clic aca, todo en la misma pagina pq como lo tengo yo al hacer clic me lleva a la pagina del action del formulario
Vos al hacer click en el submit de un form necesitas que te busque si ya se encuentra en la base de datos, dependiendo de que si tiene o no te va a mostrar:

en caso de que encuentre: un alert diciendo "encontre cosas".
en caso de que no encuentre: un mensaje de confirm, que te diga, quiere ingresarlo? o algo asi que te permita seguir a otra accion.

Si hasta aca me confundi, avisame, sino sigo con la explicación.

Para lograr esto necesitas 2 archivos: un php para el ajax, que lo unico que hace es validar contra la base de datos a ver si existe o no y otro php aparte que es el que va a realizar la otra accion en caso de no encontrar resultados en la base.

En caso de no necesitar otra accion, sino que solo necesitas mostrar la informacion de que no se encuentra en la base de datos solo cambias en confirm por un alert normal y sacas el action de form listo asi, cuando en el ajax entre por la validacion de que no se encontraron datos en la base no haga absolutamente nada.

Avisame si me equivoque en algo asi modificamos la lógica y listo ;)
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #22 (permalink)  
Antiguo 16/11/2011, 13:55
 
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

ya mira... cree dos paginas .php que son:

consulta_rut.php (esta pagina tiene el codigo que tu me indicaste)

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. $dbi = Conectarse();
  4.  
  5. $query=" SELECT RUT FROM CUENTAS";
  6.  
  7. $res=mysql_query($query,$dbi);
  8.            
  9. if (mysql_num_rows($res) > 0) {
  10.     $data['existe'] = true;
  11. } else {
  12.     $data['existe'] = false;
  13. }
  14. // 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)
  15. echo json_encode($data);
  16.  
  17. ?>


y tambien cree otra que se llama

consulta.php (esta solo hace la consulta a la bd)

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3. $dbi = Conectarse();
  4.  
  5. $query=" SELECT RUT FROM CUENTAS";
  6.  
  7. $res=mysql_query($query,$dbi);
  8.            
  9. $num=mysql_num_rows($res);  
  10.  
  11. ?>


y esta es la pagina con el jquery y el formulario....

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

aca en el formulario le indique en el action consulta.php que es la pagina que te indico que solo genera la consulta.

Código HTML:
Ver original
  1.  
  2. <form name=formulario method=post action=consulta.php>
  3. <center>    <table border="0">
  4.  
  5.  
  6. <tr>
  7.  
  8. <td><input type=text name=rut_cuenta size=35></td>
  9.     </tr>
  10.  
  11.     </table>
  12.     </center>
  13. <center>
  14.  
  15. <a href="index.php">Cancelar</a> <input type=submit name=ingre value=Aceptar> </center>
  16.    
  17.     </form>
  18. </body>
  19. </html>


con estos codigos ocurre que al hacer clic en el submit me redirecciona a la pagina consulta.php y como no tengo ningun echo ni nada me muestra todo blaco ... es decir, que aun no toma los alerts del jquery...

=)
  #23 (permalink)  
Antiguo 16/11/2011, 14:02
 
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

mira te muestro el ejemplo de donde saque la idea... esto es lo que quiero que haga

entra a
www.previred.com

en la parte derecha hay un pequeño formulario de ingreso al sistema y abajo de este hay una opcion que dice "nuevo usuario?, inscribase aqui" da clic ahi y coloca el rut que sale de ejemplo y veras como funcionan los mensajes de alerta... en este caso te dira que el rut es incorrecto pq valida el codigo verificador.... pero cuando colocas un rut que ya esta ingresado aparece de la misma forma un mensaje que dice el rut ya se encuentra registrado y si no te redirecciona al formulario de inscripcion....

haz la prueba con el ejemplo que te di para que veas mas o menos lo que quiero....

quedo atenta ;)
  #24 (permalink)  
Antiguo 16/11/2011, 14:20
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

Porque no te esta tomando el id del formulario, no se lo pusiste el id en el form

lo tenes asi:
Código HTML:
Ver original
  1. <form name=formulario method=post action=consulta.php>

y tiene que ir asi
Código HTML:
Ver original
  1. <form id=formulario method=post action=consulta.php>

Solo te falta cambiar el atributo name por el atributo id y listo.
Así como lo tenías el evento bind no lo entendia porque actua sobre el form con id "formulario" y si no esta especificado no hace nada entendes?

Probalo asi y contame

Ahhh, y si podes ponele las comillas a los valores de los atributos, no los dejes asi solos ;)
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #25 (permalink)  
Antiguo 16/11/2011, 14:37
 
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

deje asi el formulario y me redirecciona a la pagina que tiene al action que es consulta.php y no me da los mensajes de alertas =(

Código HTML:
Ver original
  1. <form id='formulario' method='post' action='consulta.php'>
  2. <center>    <table border="0">
  3.  
  4.  
  5. <tr>
  6.  
  7. <td><input type=text name=rut_cuenta size=35></td>
  8.     </tr>
  9.  
  10.     </table>
  11.     </center>
  12. <center>
  13.  
  14. <a href="index.php">Cancelar</a> <input type='submit' name=ingre value=Aceptar> </center>
  15.    
  16.     </form>
  #26 (permalink)  
Antiguo 16/11/2011, 14:44
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

Te falta cerrar 2 veces este tag: }) en la parte de javascript. Seria asi, segun el codigo que me mandaste antes:

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.             async: false, // SE HACE SINCRONICO PARA PODER EJECUTAR LOS ALERT CORRESPONDIENTES
  11.             success: function(data) { // ESTADO DEL AJAX CUANDO DEVUELVE LOS DATOS DEL PHP, data ES EL QUE CONTIENE EL OBJETO CON LA RESPUESTA
  12.                   if (data.existe) {
  13.                         // SI EXISTE SE PROCEDE A MOSTRAR EL ALERT
  14.                         alert("Ya se encuentra en la base de datos");
  15.                         event.preventDefault(); // CORTA EL SUBMIT
  16.                   } else {
  17.                         // SI NO EXISTE SE PROCEDE A MOSTRAR EL CONFIRM
  18.                         if (!confirm("Desea continuar con la carga?")) {
  19.                              event.preventDefault(); // CORTA EL SUBMIT
  20.                         }
  21.                        // SI PASA POR ACA ES QUE SIGUE CON EL ENVIO DEL FORMULARIO
  22.                   }
  23.               }
  24.         });
  25.     });
  26. });
  27. </script>

Cambialo y avisame
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #27 (permalink)  
Antiguo 16/11/2011, 14:52
 
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

ok... ahora al hacer clic ya me muestra el mensaje "ya se encuentra en la base de datos" , el problema ahora es que si pongo un rut que esta en la base de datos , que no existe o dejo el campo vacio y hago clic siempre me dice "ya se encuentra en la base de datos" =/... es como que no hiciera la consulta

quedo atenta =)
  #28 (permalink)  
Antiguo 16/11/2011, 14:55
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

pero modificaste la consulta en php? si la dejaste la consulta SELECT RUT FROM CUENTAS es casi seguro que te traiga que ya se encuentran datos, vos tenes que modificar el sql segun lo que ingresen en el input del formulario, ahi ya esta en vos modificar la consulta para que se haga bien, yo ya no puedo hacer nada en ese caso :D
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #29 (permalink)  
Antiguo 16/11/2011, 14: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

jajajaja... tienes razon =/.... se me habia ido ese detalle... lo resuelvo y te cuento!! =)
  #30 (permalink)  
Antiguo 16/11/2011, 14:58
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

dale dale, avisame cualquier cosa ;)
__________________
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 19:34.