Foros del Web » Programando para Internet » PHP »

Problema con Array en formulario

Estas en el tema de Problema con Array en formulario en el foro de PHP en Foros del Web. Este es un formulario con el que pretendo crear tablas directamente desde php, para lo cual al nombre de los campos hay que guardarlos en ...
  #1 (permalink)  
Antiguo 19/10/2007, 08:24
Avatar de jarpik  
Fecha de Ingreso: octubre-2007
Mensajes: 10
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Problema con Array en formulario

Este es un formulario con el que pretendo crear tablas directamente desde php, para lo cual al nombre de los campos hay que guardarlos en un array pero no se la notacion, si lo que estoy haciendo es una locura que me e inventado o como podria hacerlo. Podeis echarme una mano?

el formulario seria asi:

Código PHP:
<form method="post" action="funciones-tablas.php">
                    <p >INTRODUZCA EL NOMBRE DE LA NUEVA TABLA:</p>
                    <p><input type="text" name="nombre" size=30>
                    </p>
                    <p>Numero de campos: 
                          <input name="nCampos" type="text" size="5"> 
                        <INPUT TYPE="Submit" NAME="Mostrar" VALUE="Mostrar"></p>
                        <br>
                    <table align="center">
                     <?php
                    
if ($nCampos!=0)
                        {
                        
//Titulos de la tabla
                        
echo "<tr><td>Nombre</td><td>Tipo</td><td>Long</td></tr>";
                        for (
$i=0$i<$nCampos$i++)
                              {
                            
//Cuadro nombre campo
                            
echo "<tr><td><input name='campo[".$i."]' type='text' size=20></td>";
                            echo 
"<td>";
                            
//CUadro Tipo de campo
                            
echo "<select name='tipo[".$i."]'>";
                            echo 
"<option>Numerico</option>";
                            echo 
"<option>Caracter</option>";
                            
//Mas Opciones tipo campo
                            
echo "</select></td>";
                            
//Cuadro longitud campo
                            
echo "<td><input name='long[".$i."]' type='text' size=5></td></tr>";
                            
                            }
                        echo 
"<P><INPUT TYPE='Submit' NAME='CREAR' VALUE='CREAR'></p>";
                        }
                    
?>
                    </table>
                </form>
y despues con esto se crearia la instruccion:

Código PHP:
$instruccion"CREATE TABLE ".$_POST[nombre]." (id_".$_POST[nombre]." PRIMARY KEY";
                    for(
$i=0$i<$nCampos$i++)
                        {
                        
$instruccion.=", ".$_POST[$campo[$i]]." ".$_POST[$tipo[$i]]."(".$_POST[$long[$i]].")";
                        }
                    echo 
$instruccion
gracias
  #2 (permalink)  
Antiguo 19/10/2007, 08:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Problema con Array en formulario

Esta es una sentencia para hacer una tabla:
Código:
CREATE TABLE `tabla` (
  `id` bigint unsigned NOT NULL auto_increment,
  `texto` varchar(255) NOT NULL,
  `numero` bigint(20) NOT NULL,
  PRIMARY KEY  (`id`)
);
Checa contra tu script y ve que es lo que te hace falta.

Saludos.
  #3 (permalink)  
Antiguo 19/10/2007, 08:45
Avatar de jarpik  
Fecha de Ingreso: octubre-2007
Mensajes: 10
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Problema con Array en formulario

Nono, la instruccion esa solo es de prueba, el problema es el coger recogiendo los valores dados en el formulario que no se la notacion que debo utilizar:

en formulario:

Cita:
echo "<select name='tipo[".$i."]'>";
recuperando:
Cita:
for($i=0; $i<$nCampos; $i++)
{
$instruccion.=", ".$_POST[$campo[$i]]." ".$_POST[$tipo[$i]]."(".$_POST[$long[$i]].")";
}
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 04:04.