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

Consulta de BD Saliendo de un campo

Estas en el tema de Consulta de BD Saliendo de un campo en el foro de Frameworks JS en Foros del Web. Hola a todos soy nuevo en este foro pero tengo una consulta que me gustaria que me resolvieran. estoy haciendo una mascara de captura pero ...
  #1 (permalink)  
Antiguo 12/09/2010, 12:07
Avatar de mexbale  
Fecha de Ingreso: septiembre-2010
Ubicación: Iztapalapa
Mensajes: 146
Antigüedad: 14 años, 3 meses
Puntos: 1
Consulta de BD Saliendo de un campo

Hola a todos soy nuevo en este foro pero tengo una consulta que me gustaria que me resolvieran.
estoy haciendo una mascara de captura pero me a surgido un problemita les explico

tengo un campo de folio y quiero que al momento de salir de ese campo haga una consulta a una BD muestra y que me mande un comentario de que si el folio esta en esa base y si esta marcado como capturado.

he estado investigando y me dijeron que esto lo puedo hacer con ajax pero yo no manejo AJAX por eso les pido su ayuda y si se puede que me puedan decir como le hago
de antemano les doy las gracias y espero que tengan un buen dia suerte
  #2 (permalink)  
Antiguo 12/09/2010, 12:43
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Consulta de BD Saliendo de un campo

Hola

Mírate esto y en vez de usar el evento onsubmit para llamar a la función, usa el evento onblur

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 12/09/2010, 15:24
Avatar de mexbale  
Fecha de Ingreso: septiembre-2010
Ubicación: Iztapalapa
Mensajes: 146
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Consulta de BD Saliendo de un campo

perdon pero te digo que no se nada de AJAX si me pudieras poner un ejemplo me ayudarias mucho gracias
  #4 (permalink)  
Antiguo 12/09/2010, 16:28
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Consulta de BD Saliendo de un campo

Hola

Es así de sencillo
Cita:
<script type="text/javascript">
function creaAjax(){
var objetoAjax=false;
try {
/*Para navegadores distintos a internet explorer*/
objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
/*Para explorer*/
objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E) {
objetoAjax = false;
}
}

if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
objetoAjax = new XMLHttpRequest();
}
return objetoAjax;
}



function FAjax (valores)
{
var ajax=creaAjax();
var capaContenedora = document.getElementById('elDiv');

/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
ajax.open ('POST', 'url al archivo php o asp', true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
capaContenedora.innerHTML="Cargando.......";
}
else if (ajax.readyState==4){
if(ajax.status==200)
{
capaContenedora.innerHTML=ajax.responseText;
}
else if(ajax.status==404)
{

capaContenedora.innerHTML = "La direccion no existe";
}
else
{
capaContenedora.innerHTML = "Error: ".ajax.status;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(valores);
return;

}
</script>

<input type="text" value="" onblur="FAjax(this.value) />
<div id="elDiv">Donde se cargarán los datos traidos de la bd</div>
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 12/09/2010, 17:16
Avatar de mexbale  
Fecha de Ingreso: septiembre-2010
Ubicación: Iztapalapa
Mensajes: 146
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Consulta de BD Saliendo de un campo

no se si me puedes explicar lo del div eso no lo comprendo y esa funcion que me pones que hace gracias por el apoyo
  #6 (permalink)  
Antiguo 13/09/2010, 05:03
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Consulta de BD Saliendo de un campo

Hola

No se que quieres que te explique.
Escribe la url de la página donde está el código para hacer la consulta
Cita:
ajax.open ('POST', 'http://tudominio.com/archivo.php/', true);
En este div es donde se cargarán los registros sacados de la consulta
Cita:
<div id="elDiv">Donde se cargarán los datos traidos de la bd</div>
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #7 (permalink)  
Antiguo 13/09/2010, 09:44
Avatar de mexbale  
Fecha de Ingreso: septiembre-2010
Ubicación: Iztapalapa
Mensajes: 146
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Consulta de BD Saliendo de un campo

a ok lo que pasa es que eso ya me salio, tengo un problema pero creo que en en mi query, pero si yo lo ejecuto en el servidor si muestra lo que quiero pero cuando lo ejecuto en la paguina no me sale deja te explico hice un archivo php que es esto:

<?php

$bd_host = "localhost";
$bd_usuario = "root";
$bd_password = "**********";
$bd_base = "base de datos";

$con = mysql_connect($bd_host, $bd_usuario, $bd_password);

mysql_select_db($bd_base);

$FOLIO_01 = $_POST['FOLIO_01'] = trim($_POST['FOLIO_01']);

$sql=mysql_query("SELECT folio FROM TBL_MUESTRA WHERE folio='$FOLIO_01'");

if(mysql_num_rows($sql)!=0) {
echo "FOLIO DE LA VIVIENDA";
}
else{
echo "NO SE ENCUESTRA EN LA MUESTRA";

}
?>


pd: yo en el if trato de decir que si con mi consulta encuentra el folio ponga "FOLIO DE LA VIVIENDA" y si no lo encuentra que me ponga "NO SE ENCUENTRA EN LA MUESTRA"

y cuando lo ejecuto en la paguina siempre me muestra el mensaje que no esta en la muestra aun cuando yo le escriba un folio que si esta en la tabla, no se que estoy haciendo mal o cual es mi error ojala y si me puedas ayudar
de antemano gracias

Última edición por mexbale; 13/09/2010 a las 09:53
  #8 (permalink)  
Antiguo 13/09/2010, 12:09
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Consulta de BD Saliendo de un campo

Hola

En esta línea lo quieres es quitar los espacios tanto delante como detrás de la cadena, así que con esto sería suficiente
Cita:
$FOLIO_01 = trim($_POST['FOLIO_01']);
Por otro lado comprueba si estás enviando algo y que estás enviando. Para ello haces una prueba de escritorio
Cita:
<?php
echo $_POST['FOLIO_01'];
?>
En el caso que todo esté bien, el error está en como estás tratando el argumento
Cita:
string ---> '".$_POST['objeto']."'
número ----> ".$_POST['objeto']."
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #9 (permalink)  
Antiguo 13/09/2010, 13:16
Avatar de mexbale  
Fecha de Ingreso: septiembre-2010
Ubicación: Iztapalapa
Mensajes: 146
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Consulta de BD Saliendo de un campo

bueno al parecer no me esta agarrando nada esta ejecutando el echo pero no me aparece el valor que pongo en el campo por ejemplo puse:

<?PHP
$FOLIO_01=trim($_POST['FOLIO_01']);
echo '<b>mi folio es: ' .$FOLIO_01. ' <br/>';
?>


y cuando lo ejecuto en la pagina nada mas me aparece
mi folio es:
entonces no esta agarrando nada y no se por que, me puedes decir cual sera el error.
este es el codigo de mi paguina:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">

//funcion para consultar el folio

function creaAjax(){
var objetoAjax=false;
try {
/*Para navegadores distintos a internet explorer*/
objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
/*Para explorer*/
objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E) {
objetoAjax = false;
}
}

if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
objetoAjax = new XMLHttpRequest();
}
return objetoAjax;
}



function FAjax (valores)
{
var ajax=creaAjax();
var capaContenedora = document.getElementById('elDiv');

/*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
ajax.open ('$_POST','consulta.php', true);
ajax.onreadystatechange = function() {
if (ajax.readyState==1) {
capaContenedora.innerHTML="Cargando.......";
}
else if (ajax.readyState==4){
if(ajax.status==200)
{
capaContenedora.innerHTML=ajax.responseText;
}
else if(ajax.status==404)
{

capaContenedora.innerHTML = "La direccion no existe";
}
else
{
capaContenedora.innerHTML = "Error: ".ajax.status;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(valores);
return;

}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<table width="950" align="center">
<tr>
<td style="border-bottom:1px dashed #A60C00"><strong>2. FOLIOS</strong></td>
</tr>
<tr>
<td style="border-bottom:1px dashed #A60C00"><div align="right" id="elDiv">FOLIO DE LA VIVIENDA</div></td>
</tr>
<tr>
<td style="border-bottom:1px dashed #A60C00"><div align="right">
<input name="FOLIO_01" type="text" id="FOLIO_01" onkeyup = "this.value=this.value.toUpperCase();if (this.value.length == this.getAttribute('maxlength')){FOLIO_02.focus()}" maxlength="9" onblur="FAjax(this.value)" />
</div></td>
</tr>
<tr>
<td style="border-bottom:1px dashed #A60C00"><div align="right">FOLIO DE LA VIVIENDA BASE</div></td>
</tr>
<tr>
<td style="border-bottom:1px dashed #A60C00"><div align="right">
<input name="FOLIO_02" type="text" id="FOLIO_02" onkeyup = "this.value=this.value.toUpperCase();if (this.value.length == this.getAttribute('maxlength')){CVE_ENT.focus()}" maxlength="9"/>
</div></td>
</tr>
<tr>
<td style="border-bottom:1px dashed #A60C00"><div align="center">
<input type="submit" name="Guardar" value="Guardar" />
</div></td>
</tr>
</table>
</body>
</html>


la verdad no se por que no me manda nada
espero que me puedas ayudar
  #10 (permalink)  
Antiguo 13/09/2010, 14:06
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Consulta de BD Saliendo de un campo

Hola

Usa las etiquetas de código destinadas para tal fin. Ahora el error lo tienes en esta línea que has editado
Cita:
ajax.open ('$_POST','consulta.php', true);
Ha de ser
Cita:
ajax.open ('POST','consulta.php', true);
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #11 (permalink)  
Antiguo 13/09/2010, 14:19
Avatar de mexbale  
Fecha de Ingreso: septiembre-2010
Ubicación: Iztapalapa
Mensajes: 146
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Consulta de BD Saliendo de un campo

ok no se si me puedes decir cuales son las etiquetas de codigo destinadas para tal fin.
ya lo ejecute con las dos formas:
ajax.open('POST', 'consulta.php', true);
ajax.open('POST', 'consulta.php', true);

y es lo mismo lo ejecuta de la misma manera creo que nada mas me faltan las etiquetas que comentas que realmente no se cuales son
  #12 (permalink)  
Antiguo 13/09/2010, 16:33
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Consulta de BD Saliendo de un campo

Hola

Cita:
Iniciado por mexbale Ver Mensaje
y es lo mismo lo ejecuta de la misma manera creo que nada mas me faltan las etiquetas que comentas que realmente no se cuales son
Las etiquetas de código son las que están en combox highlight, a la derecha en este editor de texto.
Si continua sin funcionar vuelve al post #8 y comprueba lo que ahí te detallo

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #13 (permalink)  
Antiguo 13/09/2010, 17:23
Avatar de mexbale  
Fecha de Ingreso: septiembre-2010
Ubicación: Iztapalapa
Mensajes: 146
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Consulta de BD Saliendo de un campo

la verdad no se a que e refieres con: combox highlight, se que un combox es un cuadro combinado creo yo que es un desplegable.

y ya comprobé lo que me pones en el post #8
ya le quite los espacios, no esta agarrando el valor del input y tampoco comprendo por que pones eso de:
string '".$_POST['objeto']."'
número ".$_POST['objeto']."
no entiendo por que pones los puntos como si estuvieras concatenando
la verdad ya me perdi y no se que haces
espero que me puedas explicar mas detalladamente por que soy novato en todo esto
gracias por soportar a este novato
  #14 (permalink)  
Antiguo 14/09/2010, 04:29
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Consulta de BD Saliendo de un campo

Hola

Camiba esto
Cita:
ajax.send(valores);
por esto
Cita:
ajax.send('FOLIO_01='+valores);
En cuanto a usar las etiqueta de código para una mejor lectura de el. Este es el combox

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #15 (permalink)  
Antiguo 14/09/2010, 09:44
Avatar de mexbale  
Fecha de Ingreso: septiembre-2010
Ubicación: Iztapalapa
Mensajes: 146
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Consulta de BD Saliendo de un campo

a ok te refieres con combox a esto:
ajax.send('FOLIO_01='+valores);
se puede decir que que es un argumento
gracias por la ayuda ya jalo todo a la perfeccion no sabes de un buen manual de JavaScript y de AJAX que me puedas racomendar
gracias otra vez y suerte
  #16 (permalink)  
Antiguo 14/09/2010, 12:34
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Consulta de BD Saliendo de un campo

Hola

AJAX
http://www.librosweb.es/ajax/index.html
JAVASCRIPT
http://www.librosweb.es/javascript/index.html
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #17 (permalink)  
Antiguo 14/09/2010, 16:53
Avatar de mexbale  
Fecha de Ingreso: septiembre-2010
Ubicación: Iztapalapa
Mensajes: 146
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Consulta de BD Saliendo de un campo

gracias por la ayuda y por los enlaces para los libro
suerte

Etiquetas: ajax, bd, campos
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:21.