Ayuda con introducción de multiples datos en formularios dinámicos.
Hola.
Necesito ayuda con un formulario.
Dispongo de un formulario, el cual muestra unos campos checkbox. La cantidad
de estos campos a mostrar no es siempre la misma. Viene definida por el
resultado de un select a una bd. Es decir, pueden ser 3, 5, 1, etc.
La finalidad es que el usuario pueda seleccionar estos campos para introducir
estos valores en la base de datos.
Su complejidad viene porque puede seleccionar varios campos (checkbox), y no
se como recoger los valores de los campos seleccionados para posteriormente
hacer el insert.
En formularios estáticos, lo indicas mediante "$variable=
$_POST["nombre_de_campo"];". Pero con un formulario dinámico, no lo consigo.
Si alguien me puede ayudar a solucionar esto, lo agradecerÃa mucho.
Les pego el código.
Gracias.
<HTML>
<HEAD><TITLE></TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
<LINK href="estilos.css" type="text/css" rel="StyleSheet">
</HEAD>
<BODY>
<p> </p>
<FORM method="POST">
<FIELDSET>
<LEGEND>Asignar personal a los departamentos:</LEGEND>
<table border=0 align=left width=50%>
<TR>
<TD>Empresa</TD>
<TD>
<SELECT name="empresa">
<OPTION selected></OPTION>
<?php
require('conexion.php');
$select= "select nombre, nick from empresas order by nombre;";
$result_select= pg_query($select)
or die("select ha fallado.");
while($row=pg_fetch_array($result_select))
{
echo "<option value=".$row["nick"].">".$row["nombre"]."</option>";
}
?>
</SELECT>
</TD>
<td>
<INPUT type="submit" name="aceptar" value="Aceptar">
</td>
</TR>
</table>
</FIELDSET>
<table border=0 align=left width=30%>
<TR>
<TD><?php
$empresa= $_POST['empresa'];
echo "$empresa";
?></TD>
</TR>
<TR>
<TD>Empleado</TD>
<TD>
<SELECT name="empleado">
<OPTION selected=""></OPTION>
<?php
//Selector de empleados
$select_empl= "select id, nombre, apellidos from personal where empresa='".
$empresa."' order by nombre, apellidos;";
$result_select_empl= pg_query($select_empl) or die("select_empl ha
fallado.");
while($row_empl= pg_fetch_array($result_select_empl))
{
echo "<option value=".$row_empl["id"].">".$row_empl["nombre"]." ".
$row_empl["apellidos"]."</option>";
}
?>
</SELECT>
</TD>
</TR>
<TR>
<TD><b>Departamentos:</b></TD>
<?php
//Selector de departamentos.
$select_dep= "select id, empresa, nombre from departamentos where empresa='".
$empresa."' order by nombre;";
$result_select_dep= pg_query($select_dep)
or die("select_dep ha fallado.");
while($row_dep=pg_fetch_array($result_select_dep))
{
echo "<tr>";
echo "<td></td>";
echo "<TD align=left>";
echo "<input name=departamento type=checkbox value=".$row_dep["id"].">".
$row_dep["nombre"]."";
echo "</tr>";
}
?>
</TD>
</TR>
<TR><TD></TD></TR>
<TR>
<TD colspan="2" align="center">
<INPUT type="submit" name="Introducir" value="Introducir">
</TD>
</TR>
</table>
</BODY>
</HTML>
<?php
$empleado= $_POST['empleado'];
$boton= $_POST['Introducir'];
// ---A partir de aquà es lo que me queda por terminar pues no puedo recoger
los valores----
/*$insert= "insert into depart_personal(departamento, usuarios) values('".
$departamento."', '".$empleado."');";
$result_insert= pg_query($insert) or die("insert ha fallado.");
while($result_insert)
{
}
/*if($boton== "Introducir")
{
while()
}*/
?>
--
Saludos.
Necesito ayuda con un formulario.
Dispongo de un formulario, el cual muestra unos campos checkbox. La cantidad
de estos campos a mostrar no es siempre la misma. Viene definida por el
resultado de un select a una bd. Es decir, pueden ser 3, 5, 1, etc.
La finalidad es que el usuario pueda seleccionar estos campos para introducir
estos valores en la base de datos.
Su complejidad viene porque puede seleccionar varios campos (checkbox), y no
se como recoger los valores de los campos seleccionados para posteriormente
hacer el insert.
En formularios estáticos, lo indicas mediante "$variable=
$_POST["nombre_de_campo"];". Pero con un formulario dinámico, no lo consigo.
Si alguien me puede ayudar a solucionar esto, lo agradecerÃa mucho.
Les pego el código.
Gracias.
<HTML>
<HEAD><TITLE></TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
<LINK href="estilos.css" type="text/css" rel="StyleSheet">
</HEAD>
<BODY>
<p> </p>
<FORM method="POST">
<FIELDSET>
<LEGEND>Asignar personal a los departamentos:</LEGEND>
<table border=0 align=left width=50%>
<TR>
<TD>Empresa</TD>
<TD>
<SELECT name="empresa">
<OPTION selected></OPTION>
<?php
require('conexion.php');
$select= "select nombre, nick from empresas order by nombre;";
$result_select= pg_query($select)
or die("select ha fallado.");
while($row=pg_fetch_array($result_select))
{
echo "<option value=".$row["nick"].">".$row["nombre"]."</option>";
}
?>
</SELECT>
</TD>
<td>
<INPUT type="submit" name="aceptar" value="Aceptar">
</td>
</TR>
</table>
</FIELDSET>
<table border=0 align=left width=30%>
<TR>
<TD><?php
$empresa= $_POST['empresa'];
echo "$empresa";
?></TD>
</TR>
<TR>
<TD>Empleado</TD>
<TD>
<SELECT name="empleado">
<OPTION selected=""></OPTION>
<?php
//Selector de empleados
$select_empl= "select id, nombre, apellidos from personal where empresa='".
$empresa."' order by nombre, apellidos;";
$result_select_empl= pg_query($select_empl) or die("select_empl ha
fallado.");
while($row_empl= pg_fetch_array($result_select_empl))
{
echo "<option value=".$row_empl["id"].">".$row_empl["nombre"]." ".
$row_empl["apellidos"]."</option>";
}
?>
</SELECT>
</TD>
</TR>
<TR>
<TD><b>Departamentos:</b></TD>
<?php
//Selector de departamentos.
$select_dep= "select id, empresa, nombre from departamentos where empresa='".
$empresa."' order by nombre;";
$result_select_dep= pg_query($select_dep)
or die("select_dep ha fallado.");
while($row_dep=pg_fetch_array($result_select_dep))
{
echo "<tr>";
echo "<td></td>";
echo "<TD align=left>";
echo "<input name=departamento type=checkbox value=".$row_dep["id"].">".
$row_dep["nombre"]."";
echo "</tr>";
}
?>
</TD>
</TR>
<TR><TD></TD></TR>
<TR>
<TD colspan="2" align="center">
<INPUT type="submit" name="Introducir" value="Introducir">
</TD>
</TR>
</table>
</BODY>
</HTML>
<?php
$empleado= $_POST['empleado'];
$boton= $_POST['Introducir'];
// ---A partir de aquà es lo que me queda por terminar pues no puedo recoger
los valores----
/*$insert= "insert into depart_personal(departamento, usuarios) values('".
$departamento."', '".$empleado."');";
$result_insert= pg_query($insert) or die("insert ha fallado.");
while($result_insert)
{
}
/*if($boton== "Introducir")
{
while()
}*/
?>
--
Saludos.
prueba con un for que dentro compruebe si ese check esta marcado...si lo esta lo añades a una variable, sino pasas al siguiente numero dl for....y asi sucesivamente ....
al final le quitas la coma que kedara al final de la variable y eso lo concatenas con el resto del insert...
con eso es facil construir los campos que necesitas para el insert
al final le quitas la coma que kedara al final de la variable y eso lo concatenas con el resto del insert...
con eso es facil construir los campos que necesitas para el insert
