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('tabla.php?input_id=id_$nombre&table_db=$nombre');'>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...