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

Funcion ajax que llama a un php y este devuelve registro de una consulta

Estas en el tema de Funcion ajax que llama a un php y este devuelve registro de una consulta en el foro de Frameworks JS en Foros del Web. Hola! Tengo un problema con ajax que no lo consigo resolver, veran, tengo un select el qual esta lleno con unos códigos, dependiendo de que ...
  #1 (permalink)  
Antiguo 18/02/2008, 13:19
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 18 años
Puntos: 3
Funcion ajax que llama a un php y este devuelve registro de una consulta

Hola! Tengo un problema con ajax que no lo consigo resolver, veran, tengo un select el qual esta lleno con unos códigos, dependiendo de que codigos escoja el usuario ha de habilitar o deshabilitar otro combo de idiomas. Parta hacer eso he de hacer una consulta a la base de datos y mirar si el codigo tiene un valor en el campo idioma o no para asi habilitar o no el combo de idioma. Lo que tengo hecho es el siguiente codigo:

ajax.js
Código:
function xmlhttp(){
		var xmlhttp;
		try{xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
		catch(e){
			try{xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
			catch(e){
				try{xmlhttp = new XMLHttpRequest();}
				catch(e){
					xmlhttp = false;
				}
			}
		}
		if (!xmlhttp) 
				return null;
			else
				return xmlhttp;
	}
function fechador(idioma){
	var a = document.getElementById(idioma);
	var fragment_url = 'fechador.php?id='+a;

	var ajax = xmlhttp();
	ajax.onreadystatechange = function() { 
    if (ajax.readyState == 4) {
							a.innerHTML = ajax.responseText;
        								} 
    										}
	ajax.open("GET", fragment_url); 
	ajax.send(null);
	alert(value);
}
fechador.php
Código:
<?php
include("../lib/conexion.php");
$fechador = $_REQUEST['id'];
$sql=mysql_query("SELECT idioma FROM productos WHERE id=".$fechador."");
$total=mysql_fetch_array($sql);
mysql_close($conn);
?>
No sé como enviar el resultado de esta consulta de nuevo al ajax para que si es un valor 0 me desactive el combo idiomas o si es 1 no.

Espero que puedan ayudarme.

Un saludo y grácias
  #2 (permalink)  
Antiguo 19/02/2008, 01:53
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
Re: Funcion ajax que llama a un php y este devuelve registro de una consulta

Código PHP:
include("../lib/conexion.php");
$fechador $_REQUEST['id'];
$sql=mysql_query("SELECT idioma FROM productos WHERE id=".$fechador." limit 1");
$total=mysql_result($sql,0,0);
echo 
$total;
@
mysql_free_result($sql); 
mysql_close($conn); 
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 19/02/2008, 23:36
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
Pregunta Re: Funcion ajax que llama a un php y este devuelve registro de una consulta

Cita:
Iniciado por ZiTAL Ver Mensaje
Código PHP:
include("../lib/conexion.php");
$fechador $_REQUEST['id'];
$sql=mysql_query("SELECT idioma FROM productos WHERE id=".$fechador." limit 1");
$total=mysql_result($sql,0,0);
echo 
$total;
@
mysql_free_result($sql); 
mysql_close($conn); 
hola disculpa con el echo $total se envia de vuelta el resultado???


saludos
__________________
gerardo
  #4 (permalink)  
Antiguo 20/02/2008, 01:49
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
Re: Funcion ajax que llama a un php y este devuelve registro de una consulta

si tienes duda de que es lo que devuelve, prueba a poner la direccion de la pagina en el navegador. Veras lo que envia.

Otra manera de ver lo que envia es haciendo un alert del responseText en javascript:

Código:
alert(ajax.responseText);
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #5 (permalink)  
Antiguo 20/02/2008, 11:15
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 18 años
Puntos: 3
Re: Funcion ajax que llama a un php y este devuelve registro de una consulta

Hola! Grácias por tu ayuda Zital. Al final he conseguido realizar lo que queria, he cambiado el echo $total por un select, asi cuando ejecuto la funcion me imprime un select determinado o otro con los idiomas segun en que sentencia if entra.
Un saludo y grácias de nuevo
  #6 (permalink)  
Antiguo 20/02/2008, 21:22
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
Re: Funcion ajax que llama a un php y este devuelve registro de una consulta

te refieres a un select de html???
<select>
<option></option>
</select>

saludos
__________________
gerardo
  #7 (permalink)  
Antiguo 21/02/2008, 11:50
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 18 años
Puntos: 3
Re: Funcion ajax que llama a un php y este devuelve registro de una consulta

Si, a un select de html, queda de la siguiente manera:

Cita:
include("../lib/conexion.php");
$fechador = $_REQUEST['id'];
$sql=mysql_query("SELECT idioma FROM productos WHERE id=".$fechador." limit 1");
mysql_close($conn);
$total=mysql_fetch_array($sql);
if($total[0]==1){
?>
<select name="idioma">
<option value="Castellano">Castellano</option>
.....
.....
</select>
<?php
}
else{
?>
<select name="idioma">
<option value="English">English</option>
.....
</select>
<?php
}
?>
Un saludo
  #8 (permalink)  
Antiguo 22/02/2008, 10:58
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 6 meses
Puntos: 35
Re: Funcion ajax que llama a un php y este devuelve registro de una consulta

loading............


Tengan cuidado, ojo que si van a llenar un elemento SELECT con OPTIONS, no pueden hacer

objetoSelect.innerHTML='<option>bla</option>';

Deben hacerlo mediante DOM, anidando cada elemento OPTION al elemento SELECT.

Seamos estrictos con nuestra programaci'on.


connection closed.
__________________

Maborak Technologies
  #9 (permalink)  
Antiguo 22/02/2008, 12:17
 
Fecha de Ingreso: noviembre-2006
Mensajes: 437
Antigüedad: 18 años
Puntos: 3
Re: Funcion ajax que llama a un php y este devuelve registro de una consulta

No entiendo lo que quieres decir Maborak.. En teoria lo que hace es:

a.innerHTML = ajax.responseText;

O sea:

a.innerHTML = '<select><option></option>.........</select>';

No veo que este mal programado, también decir que soy novato en ajax y me gustaria que me explicaras un poco el motivo de tu recomendacion.

Un saludo
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 04:01.