Foros del Web » Programando para Internet » PHP »

Formulario dinamico

Estas en el tema de Formulario dinamico en el foro de PHP en Foros del Web. Hola soy nuevo en esto de php y tengo un problema que no se como solucionar, les agradeceria mucho si me pudiesen ayudar. tengo 2 ...
  #1 (permalink)  
Antiguo 07/12/2008, 12:54
 
Fecha de Ingreso: diciembre-2008
Mensajes: 4
Antigüedad: 15 años, 4 meses
Puntos: 0
Formulario dinamico

Hola soy nuevo en esto de php y tengo un problema que no se como solucionar, les agradeceria mucho si me pudiesen ayudar.
tengo 2 paginas, una que es un formulario dinamico donde el nombre de los textfield es sacado de una BD y la segunda pagina donde recojo los valores de ese formulario, el problema es que no se como poner el valor de los formularios en el query.
aqui les pongo el codigo

------------------------pagina1--------
<?
$tipo=$_POST['tipo'];
//Calculo cuantos elemento hay en el arreglo
$result = mysql_query("select * from $tipo");
$rows=mysql_num_fields($result);
for($i=0;$i<$rows;$i++) {
$result_fila=mysql_fetch_field($result);
if($result_fila->name=="ANIO"){
echo "<tr>
<td><font color='red'>*</font> Año :</td>
<td><input type='text' name=".$result_fila->name."
id=".$result_fila->name." style='text-transform: uppercase;'></td>
</tr>";}
else{
echo "<tr>
<td><font color='red'>*</font>".$result_fila->name." :</td>
<td><input type='text' name=".$result_fila->name." id=".$result_fila->name." style='text-transform: uppercase;'></td>
</tr>";}}
?>


--------------------------------------pagina2-----------------------------
<?
if(isset($_POST['tipo'])){
foreach($_POST as $nombre_campo => $valor){
$asignacion = "\$" . $nombre_campo . "='" . $valor . "';";
eval($asignacion);
}
$tipo=$_POST['tipo'];

$result = mysql_query("select * from $tipo");
$rows=mysql_num_fields($result);
$query="insert into $tipo(";
for($i=0;$i<$rows;$i++) {
$result_fila=mysql_fetch_field($result);
$query .=$result_fila->name.",";}
$query2 = substr($query, 0, -1);
$query2.=") values (";
for($i=0;$i<$rows;$i++) {
$result = mysql_query("select * from $tipo");
$rows=mysql_num_fields($result);
for($i=0;$i<$rows;$i++) {
$result_fila=mysql_fetch_field($result);
$query2.=$_POST[$result_fila->name].',';
}
$query = substr($query2, 0, -1);
$query.=")";

}}

?>

con el segundo codigo solo consigo llegar a :
insert into tipo(var1,var2,var3) values (
me falta obtener los datos del formulario ojala pudiesen ayudarme
de antemano gracias por su ayuda
  #2 (permalink)  
Antiguo 07/12/2008, 14:56
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Respuesta: Formulario dinamico

Cita:
Iniciado por tottiman88 Ver Mensaje

------------------------pagina1--------
<?
$tipo=$_POST['tipo'];
//Calculo cuantos elemento hay en el arreglo
$result = mysql_query("select * from $tipo");
$rows=mysql_num_fields($result);
for($i=0;$i<$rows;$i++) {
$result_fila=mysql_fetch_field($result);
if($result_fila->name=="ANIO"){
echo "<tr>
<td><font color='red'>*</font> Año :</td>
<td><input type='text' name=".$result_fila->name."
id=".$result_fila->name." style='text-transform: uppercase;'></td>
</tr>";}
else{
echo "<tr>
<td><font color='red'>*</font>".$result_fila->name." :</td>
<td><input type='text' name=".$result_fila->name." id=".$result_fila->name." style='text-transform: uppercase;'></td>
</tr>";}}
?>
No sé si te he entendido bien, creo que necesitas esto:

Código PHP:
$result mysql_query("select * from $tipo");
while(
$row=mysql_fetch_assoc($result)){
echo 
'<input type="text" name=' $row['name'] . >

Así te insertaría un valor por cada valor obtenido de mysql...

Saludos y espero que te sirva...
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 05:12.