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

chequeo de llave primaria en tiempo real

Estas en el tema de chequeo de llave primaria en tiempo real en el foro de Frameworks JS en Foros del Web. buenas..no se si este claro en el asunto de mi tema estoy desarollando un aplicativo en php..de ajax la verdad no tengo mucha idead lo ...
  #1 (permalink)  
Antiguo 05/06/2009, 08:20
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Pregunta chequeo de llave primaria en tiempo real

buenas..no se si este claro en el asunto de mi tema

estoy desarollando un aplicativo en php..de ajax la verdad no tengo mucha idead

lo que necesito es que al ingresar un codigo que es la llave primaria de una tabla, en frente del campo donde ingreso ese codigo me salga un mensaje de si ese codigo esta o no disponible, en el mismo momento que valla ingresando ese codigo......

ese tipo de ejemplo lo veo en la pagina: http://www.tutores.org/?m=alta

al ingresar el campo alias usuario...
no se si alguien me pueda explicar donde puedo encontrar un buen ejemplo de ese tema o como puedo realzar ese codigo.....

el campo que no se debe repetir es cod_investigacion. el cual se encuentra en una tabla llamada investigaciones

estoy usando mySQL.....se requiere que se haga la conexion con la base de datos que la llamo idead..........
agradezco si alguien me puede colaborar....Muchas gracias
  #2 (permalink)  
Antiguo 05/06/2009, 11:21
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: chequeo de llave primaria en tiempo real

Mirate este Ejemplo

Código javascript:
Ver original
  1. var ajax=null;
  2. //Funcion que crea el objeto ajax
  3. function objetoAjax(){
  4.     var xmlhttp=false;
  5.     try {
  6.         xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  7.     } catch (e) {
  8.         try {
  9.            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  10.         } catch (E) {
  11.             xmlhttp = false;
  12.     }
  13.     }
  14.  
  15.     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  16.         xmlhttp = new XMLHttpRequest();
  17.     }
  18.     return xmlhttp;
  19. }
  20.  
  21. function peticionAjax(url,idDestino){
  22.     if (ajax==null) {
  23.       objDestino=document.getElementById(idDestino)
  24.       ajax=objetoAjax();
  25.       ajax.open("POST", url, true);
  26.       ajax.onreadystatechange=function() {
  27.           if (ajax.readyState==4) {
  28.               objDestino.innerHTML = ajax.responseText
  29.               ajax = null
  30.           }
  31.       }
  32.       ajax.send(null)
  33.     }else{
  34.       setTimeout("f1('"+url+"','"+divcontenido+"')",1)
  35.     }
  36. }
  37. function valida(){
  38.   if (document.getElementById('error').title=='1'){
  39.     alert('Introduce un código correcto')
  40.     return false;
  41.   }else i=1//document.forms.miForm.submit();
  42. }

index.php

Código html:
Ver original
  1. ///aqui el código javascript anterior
  2. <form name="nomForm" id="idForm" action="tuScript.php" METHOD="POST" ENCTYPE="multipart/form-data">
  3. Codigo:<input type="text" name="llave" id="llave" onblur="peticionAjax('compruebaLlave.php?llave='+this.value,'resultado')"/>
  4. <div id="resultado"><span id='error' title='1'></span></div>
  5. <br/>
  6. <input type="button" name="aceptar" value="aceptar" onclick="return valida();"/>
  7. </form>

compruebaLlave.php

Código php:
Ver original
  1. <?PHP
  2. header('Content-Type: text/xml; charset=ISO-8859-1');
  3.  
  4. ////tu conexion
  5.  
  6. $sql="SELECT * FROM tuTabla WHERE llave='".$_REQUEST['llave']."'";
  7. $consulta = mysql_query($sql, $db)
  8.   or die (mysql_error($db));
  9. if (mysql_num_rows($consula)>0){
  10.   echo "<span id='error' style='color:red' title='1'>Este código existe en nuestra base de datos</span>";
  11. }else{
  12.   echo "<span id='error' title='0'></span>";
  13. }
  14.  
  15. ?>

Ya dirás, Saludos...
__________________
Si quieres puedes y si puedes debes. Imposible is nothing!!!
  #3 (permalink)  
Antiguo 05/06/2009, 12:40
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: chequeo de llave primaria en tiempo real

okk..voy a probarlo.....muchas gracias
  #4 (permalink)  
Antiguo 05/06/2009, 12:49
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: chequeo de llave primaria en tiempo real

el boton de aceptar me tiene que llevar a compruebaLlave.php??

el botono no me esta funcionando
  #5 (permalink)  
Antiguo 08/06/2009, 01:47
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: chequeo de llave primaria en tiempo real

Buenas,

Haber te intento explicar.

Tienes en el formulario la caja de texto con id 'llave'. Suponemos que éste es el campo que deseas comprobar para ver si existe en tu base de datos.

Lo que hace el script es que cuando la caja de texto con id 'llave' pierde el foco se envía una petición al servidor en la que se ejecuta compruebaLlave.php. Esto lo hace la función peticionAjax pasándole como parámetro a la página php el contenido de la caja de texto.

En compruebaLlave.php recogemos el parámetro llave para hacer una consulta select y asi buscar en la BD su existencia. Si existe escribimos un span con title=1 e id 'error' y el texto 'Este código existe en nuestra base de datos'. Si no existe escribimos el mismo span pero sin texto y con title=0. Una vez el servidor ha procesado la página php debuelve el contenido qenerado.

La función peticionAjax recibe el contenido generado y lo inserta en el div con id 'resultado' por medio de un innerHTML.

El boton hace las veces de un submit() pero pasando primero por la función valida() que compruevb el title de la capa id 'error'. Si éste es igual 1 muestra la Alerta de error y retorna. Si es igual a 0 no hay error, por tanto ejecutamos el submit() del form.

Yo lo he vuelto a ejecutar y si funciona, piensa que en compruebaLlave.php debes completar el código acorde a tu base de datos. Te recomiendo que uses el firebug de Firefox para depurar y ver los errores.

Saludos,
__________________
Si quieres puedes y si puedes debes. Imposible is nothing!!!
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 10:36.