Ver Mensaje Individual
  #11 (permalink)  
Antiguo 25/04/2014, 12:47
Avatar de legomolina
legomolina
 
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: onchange en input que cambia solo

Código Javascript:
Ver original
  1. <script type="text/javascript" language="javascript">
  2.     tablas=new Array(); //array que contiene los nombres de las tablas (strings) GLOBAL
  3.     array_contenedor=new Array(); //array que contiene los arrays de los resultados de las diversas consultas GLOBAL
  4.     <?php
  5.         for($j=0; $j<count($tablas); $j++) { //Para cada tabla de la bd crea un array en js con el nombre de la tabla
  6.             echo "tablas[".$j."]='".$tablas[$j]."';\n";
  7.             echo "var ".$tablas[$j]."=new Array();\n"; //inicializa el array
  8.            
  9.             $sql="SELECT *
  10.                   FROM ".$tablas[$j];
  11.             $res=$db->query($sql); //Hace una query con el nombre de la tabla que corresponde
  12.  
  13.             //Lee los nombres de las columnas y los almacena en un array indexado con numeros empezando con el 0.
  14.             $i=0; //El indice
  15.             while($infocol=mysqli_fetch_field($res)) {
  16.                 $nombrecol[$i]=$infocol->name;
  17.                 $i++;
  18.             }
  19.  
  20.             //Crea y guarda los valores de las columnas en un array en js que contiene objetos con las propiedades de los nombres de las columnas
  21.             $i=0; //El indice
  22.             while($resultado=mysqli_fetch_assoc($res)) { //Mientras haya cosas que leer en la bd
  23.                 $u=0; //Iterador
  24.                 echo $tablas[$j]."[".$i."]=({"; //Crea un nuevo indice en el array resultados y comienza el objeto
  25.                 while($u<count($nombrecol)) {
  26.                     if($u+1!=count($nombrecol)) //Solo vale para quitar la coma en caso de que sea la ultima propiedad del objeto
  27.                         echo $nombrecol[$u].":'".$resultado[$nombrecol[$u]]."',"; //Va asignando al objeto las propiedades con el nombre de la columna correspondiente y a cada una el resultado obtenido de la bd
  28.                     else
  29.                         echo $nombrecol[$u].":'".$resultado[$nombrecol[$u]]."'";
  30.                     $u++;
  31.                 }
  32.                 echo "});\n";
  33.                 //Debug
  34.                 //echo "alert(resultados[".$i."]['codigo']);\n";
  35.                 //End debug
  36.                 $i++;
  37.             }
  38.             echo "array_contenedor[".$j."]=".$tablas[$j].";\n";
  39.         }
  40.     ?>
  41.  
  42.     function seleccionar() {
  43.         var sel = $("nombre");
  44.             sel.focus();
  45.             sel.select();    
  46.     }
  47. </script>