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

select interactiva ¿qué estrategia utilizar?

Estas en el tema de select interactiva ¿qué estrategia utilizar? en el foro de Frameworks JS en Foros del Web. Hola amigos, estoy habituado a programar en PHP. Tengo conocimiento muy básico de javascript. No se si puse el psot en el foro correcto, però ...
  #1 (permalink)  
Antiguo 05/01/2010, 05:51
 
Fecha de Ingreso: enero-2010
Mensajes: 11
Antigüedad: 14 años, 11 meses
Puntos: 0
select interactiva ¿qué estrategia utilizar?

Hola amigos,

estoy habituado a programar en PHP. Tengo conocimiento muy básico de javascript. No se si puse el psot en el foro correcto, però allà va mi situación, a ver qué podéis recomendarme:

Tengo una select que me muestra una serie de datos de una tabla mysql. Luego tengo un campo text.

El objetivo és que cuando el usuario haga una selección en el select, el campo texto del form se actualice con un valor que extraeré de otr tabla mysql.

Hasta ahora nunca tuve que realizar nada similar, estoy algo confuso. Lo primero que pensé con lo poco que se de javascript, fue en utilizar alguna función de evento en el select, però no se como contactar con mysql para recuperar los datos que debo sacar por el campo text ....

Qué lenguajes / estrategias me aconsejais para ello ??

Muchas gracias de antemano a todos!
  #2 (permalink)  
Antiguo 05/01/2010, 05:52
Avatar de TKZeXe  
Fecha de Ingreso: diciembre-2009
Ubicación: Flowers
Mensajes: 166
Antigüedad: 15 años
Puntos: 6
Respuesta: select interactiva ¿qué estrategia utilizar?

AJAX (Javascript y PHP)
  #3 (permalink)  
Antiguo 05/01/2010, 09:14
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 16 años
Puntos: 6
Respuesta: select interactiva ¿qué estrategia utilizar?

como bien dijo con ajax algo asi seria :

Código:
  
<script type="text/javascript">
function objetoAjax(){
 var xmlhttp=false;
  try{
   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  }catch(e){
   try {
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
   }catch(E){
    xmlhttp = false;
   }
  }
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
   xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}

function cambioSelect(variable){

 divContenido = document.getElementById('iddeltextarea');
 ajax=objetoAjax();
 //uso del medoto GET
//en el siguiente archivo php debe estar tu consulta
 ajax.open("GET", "consulta.php?"+ variable);
 divContenido.innerHTML= 'Realizando petición...';
 ajax.onreadystatechange=function() {
  if (ajax.readyState==4) {
   //mostrar resultados en esta capa
   divContenido.value = ajax.responseText
// si fuera un div pones divContenido.innerHTML = ajax.responseText
  }
 }
 
 ajax.send(null)
}

    </script>
saludos espero sirva
  #4 (permalink)  
Antiguo 06/01/2010, 07:27
 
Fecha de Ingreso: enero-2010
Mensajes: 11
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: select interactiva ¿qué estrategia utilizar?

Vaya muchas gracias!

Creo que entiendo el concepto, nada más una pequeña duda. En el archivo consulta.php , se supone que debo tener un script que reciba el valor por GET , realice una consulta mysql i extraiga el valor que necesito...

Pero cómo devuelvo en consulta.php el valor para seguir procesándolo en el script de ajax-javascript ? Basta con un simple return $resultado; ? El tipo de este $resultado, debe ser una variable simple (int o string por ejemplo) o puede ser un array que siga procesando en ajax-javascript?

Estoy montando el código y comentaré los resultados, gracias otra vez por vuestra ayuda!
  #5 (permalink)  
Antiguo 06/01/2010, 07:30
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 2 meses
Puntos: 334
Respuesta: select interactiva ¿qué estrategia utilizar?

depende de donde lo ingreses, recuerda que estas enviando una solicitud a la pagina php.. lo que aga esta es otro asunto..

si haces el innerHTML dentro del <select> tendrias que devolver un echo con los <option>

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #6 (permalink)  
Antiguo 06/01/2010, 10:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Tema movido desde PHP a AJAX
  #7 (permalink)  
Antiguo 07/01/2010, 14:45
 
Fecha de Ingreso: enero-2010
Mensajes: 11
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: select interactiva ¿qué estrategia utilizar?

OK! He conseguido mi primera comunicación Ajax, pero no encuentro exactamente cómo hacer lo que busco. Mirad ahora tengo el siguiente script que se llama en el onChange de un select:

function get_paths(){
var dB;
var input_text_1;
var array_from_php;

dB = document.register.dB[document.register.dB.selectedIndex].value;
input_text_1 = document.getElementById('project_basepath');

input_text_1.value = 'Wait...';

ajax = objetoAjax();
ajax.open("POST", "js/get_paths.php",true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("dB="+dB);

ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
input_text_1.value = ajax.responseText;
}
}
ajax.send(null)
}

I en el script get_paths.php lo que hago ahora es una consulta a la bbdd que me devuelve un solo campo, y hasta aquí funciona. Mi input text se llena bien.

//----En get_paths.php ----
//Proceso de query a base de datos que retorna una variable ...
echo $var_desde_bbdd

El problema: tengo dos input text a rellenar, es decir, la consulta del script get_paths.php me tiene que devolver un ARRAY de dos casillas y en el script de javascript tengo que asignar la casilla 1 al input_text_1 i la casilla 2 al input_text_2 .

Cómo consigo si mi script de php retorna un array, recibirlo en el javascript para procesarlo ??? Gracias!

Etiquetas: ajax, estrategia, interactiva, select, utilidades
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:20.