Comunidad de diseño web y desarrollo en internet online

ayuda campos dinamicos con php

Citar            
MensajeEscrito el 10 Ago 2012 04:47 pm
Buenas

Tengo una inquietud, soy nuevo programando en php y me gustaria por fa que me ayudaran con lo siguiente:

tengo esta tabla:

Código PHP :

<form  method="post" action="faltas.php"  name="est">

<table width="40%" align="center" Cellpadding="8"  border="2">
      
         <tr>
            <td colspan="2" align="center" class="fila" ><b>
             <div align="center"><strong><font color="#FFFFFF"><u>Datos de inasistencias <b></font></strong></div></td>
         </tr>
         <? for ($i=1;$i<=2;$i++) { 
         
         ?>   
         
         <tr>
            <td align="center">Asignatura: </td>
      
            <td align="center"><select name="[color=#3465A4]<? echo 'asignatura'.$i ?>">
               <option value='0'> seleccione una opcion </option>
               <option value='matematica'>matematica</option>
               <option value='castellano'>castellano</option>
               <option value='ingles'> ingles</option>
            </select></td>
         
         </tr>
         <tr>
            <td><div align='center'>Faltas:</div></td>
           <td align='center'> 
               <div align='center'>
                 <input name= [color=#3465A4]"<? echo 'faltas'.$i;?>" type='text'>
              </font> </div></td>
         </tr>
           
         <?
         }
         ?>   
</form>


Los campos asignatura y faltas los hice mediante
un FOR para que fueran 2 de cada campo.

La pregunta es como hago para capturar los campos para introducirlos a una DB de forma dinámica en caso de que fueran mas de 2 por campo.

Gracias y disculpen la molestia

[BOFH]Cuando escribas código PHP, enciérralo entre las etiquetas [*php] y [*/php] (sin los asteriscos, para mejorar la legibilidad - The Fricky![/BOFH]

Por socerer

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Ago 2012 12:15 pm
¿Has querido decir campos o registros?, porque si estás usando MySQL no existe eso de campos dinámicos.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 13 Ago 2012 02:30 am
registros dentro de una tabla

es decir que me capture el contenido de los POST y me los agregue a la tabla X

Por socerer

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Ago 2012 02:40 pm
Estimado,

Primero que nada, los campos de la tabla deben tener el mismo nombre que los input del formulario, eso puede tener problemas de seguridad en un futuro.

Luego en el código que recibe el _POST deberias pasarlo por un foreach de la siguiente forma.

$fields = array();
foreach ($_POST AS $key => $value) {
$fields[] = $key . ' = ' . (is_number($value) ? $value : '"' . addslashes($value) . '"'); // esto pondrá comillas y escapea en caso que fuera texto.
}

// Luego preparas la consulta.

$query = 'INSERT INTO tabla SET ' . implode(', ', $fields);

y listo, de esta forma podrás guardar los campos de forma dinámica, espero te sirva.

de igual forma, te recomiendo usar algun framework, ya que tiene mas seguridad para este tipo de acciones.

Por Ricardo Gatica

3 de clabLevel



 

Desarrollador Web

firefox
Citar            
MensajeEscrito el 14 Ago 2012 08:09 pm
Muchas gracias por la respuesta tendré en cuenta lo del framewrork

gracias por la ayuda

Por socerer

1 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.