Ver Mensaje Individual
  #6 (permalink)  
Antiguo 26/09/2008, 01:30
xamamo
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Seleccionar datos de una tabla y pasarlos al formulario

Hola que tal, esto es justo lo que yo necesito hacer y he probado el código que ha colgado Hector2c y funciona a la perfección, el problema aparace cuando lo intento adaptar a lo que yo tengo. Explico lo que tengo:

Tengo una función que genera el código del form automáticamente en función de una tabla de una base de datos. Va recorriendo campo a campo y cuando detecta que ese campo es un campo "llave extranjera" hace lo siguiente;
Código PHP:
...
elseif(
mysql_field_type($result$i) == "string" or mysql_field_type($result$i) == "int" and es_llave_extranjera($nombre,$tablas) == "si" and $param2=="no")
            {
                
$input "<input type='text' name='".$nombre."' id='".$nombre."' class='".$class."' />"."<a href='javascript: ventana(&apos;tabla.php?input_id=id_$nombre&table_db=$nombre&apos;);'>Seleccionar</a>";    
            }
... 
Esto está dentro de un bucle donde nombre vale el nombre del campo de la base de datos en el que está en ese momento. Si os fijais envio por url input_id y también table (que valen lo mismo, no se ni por que lo paso con dos nombres...en fin...), os pongo el código de tabla.php:

Código PHP:
<?include("config.php");
$id=mysql_connect ("localhost""$dblogin""$dbpass") or die ('I cannot connect to the database because: ' mysql_error());
    
mysql_select_db ("$dbname");
    
    
$query "select * from $table_db";
    
$res mysql_query($query);
    
$res2 mysql_query($query);
    echo 
$query;
echo 
$input_id;
?>
<html>
  <head>
  </head>
  <body>
    <form action="hijo">
      <table width="100%" border="1px">
        <thead>
          <tr>
          <?
                        
//Estro crea columnas cabecera, es decir el titulo de cada columna.
              
for ($i 0$i mysql_num_fields($res2); $i++)
            {
                echo 
"<td>".mysql_field_name($res2$i)."</td>";
            }
          
?>
          </tr> 
//Este while pone todos los registros de la tabla       
        <?while($fila mysql_fetch_array($res))
        {
?>
          <tr>
          <?
              
for ($i 0$i mysql_num_fields($res2); $i++)
            {
                                
//$nombre vale el nombre de la columna.
                
$nombre mysql_field_name($res2$i);
                echo 
"<td>".$fila[$nombre]."</td>";
            }
            
?> <td><input type="button" value="Seleccionar" onClick="javascript: opener.document.padre.<?echo $input_id?>.value='Reglas'; self.close()"></td>
          </tr>
        <?}
          
?>
        </thead>
      </table>
    </form>
  </body>
</html>
Esto me genera una tabla html con todos los datos que contiene la tabla de la base de datos y al lado de cada registro pone un boton seleccionar que al clikar sobre el debería añadir el registro al input de la otra pagina. Cuando pulso el boton de seleccionar no hace absolutamente nada...

Alguna sugerencia...??? si no me explico bien avisadme....

Gracias anticipadas...