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

select combinado datos bd

Estas en el tema de select combinado datos bd en el foro de Frameworks JS en Foros del Web. bueno pues hago un select combinado, o sea dos selcts y el segundo toma vaalores segun el primero. quiero cojer los datos de una bd, ...
  #1 (permalink)  
Antiguo 28/02/2010, 04:53
 
Fecha de Ingreso: octubre-2009
Mensajes: 51
Antigüedad: 15 años, 1 mes
Puntos: 3
select combinado datos bd

bueno pues hago un select combinado, o sea dos selcts y el segundo toma vaalores segun el primero. quiero cojer los datos de una bd, pero no se donde meter las consultas porque cuando llama a la funcion generar select no piya los datos de la bd y los necesito para rellenar el vector poblaciones. Bueno les dejo el codigo a ver si lo entienden mejor. Para que no se lien, provincias serian categorias y poblaciones subcategorias.
Código:
<?php
//incluímos la clase ajax
require ('xajax/xajax.inc.php');

//instanciamos el objeto de la clase xajax
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->configure('decodeUTF8Input',true);


function select_combinado($id_provincia){

$poblaciones = array();
$i=0;
$_sql = mysql_query("SELECT * FROM categoria_link ORDER BY id ASC" ); //o IRDER BY id DESC
while ($row = mysql_fetch_row($_sql)){
$j=0;
$_sql2 = mysql_query("SELECT * FROM subcategoria_link WHERE categoria_padre = '$row[1]' ORDER BY id ASC"); //o IRDER BY id DESC
while ($row2 = mysql_fetch_row($_sql2)){
$pob[$i][$j] = $row2[1];//nombre de la subcategoria
$j++; 
}
$i++; 
}

 $nuevo_select = "<select name='poblaciones'>";
   
   for ($i=0; $i<count($poblaciones[$id_provincia]); $i++){
   //for ($i=0; $i<2; $i++){
      $nuevo_select .= '<option value="' . $i . '">' . $poblaciones[$id_provincia][$i] . '</option>';
   }
   $nuevo_select .= "</select>";
   return $nuevo_select;
}

function generar_select($cod_provincia){

   //instanciamos el objeto para generar la respuesta con ajax
   $respuesta = new xajaxResponse();
   
   if ($cod_provincia==999){
      //escribimos el select de poblaciones vacío
      $nuevo_select = '<select name="poblaciones">
                  <option value=0>Elegir provincia</option>
                  </select>
                  ';
   }else{
      $nuevo_select = select_combinado($cod_provincia,$pob);
   }
   //escribimos en la capa con id="seleccombinado"
   $respuesta->assign("seleccombinado","innerHTML",$nuevo_select);
   
   //tenemos que devolver la instanciación del objeto xajaxResponse
   return $respuesta;
}
   
//asociamos la función creada anteriormente al objeto xajax
$xajax->registerFunction("generar_select");

//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequest();

?>

<? 
$h=0;
$categorias_pad = array();
$_sql = mysql_query("SELECT * FROM categoria_link"); //o IRDER BY id DESC
while ($row = mysql_fetch_row($_sql)){
$categorias_pad[$h] = $row[1];//nombre de la categoria
$h++; 
}




?>
<form name="formulario">
Provincia:
<br>
<select name="provincia" onChange="xajax_generar_select(document.formulario.provincia.options[document.formulario.provincia.selectedIndex].value)">
<option value="999">Selecciona provincia</option>
<? For ($size=0;$size<$h;$size++)
{
echo '<option value="'.$size.'">'.$categorias_pad[$size].'</option>';
}
?>
</select>
<br>
<br>
Población: <div id="seleccombinado">
<select name="poblaciones">
<option value=0>Elegir provincia</option>
</select>
</div>
</form>
?>

Etiquetas: ajax, bd, select
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:33.