Hola,
Si nombras los campos del formulario HTML como los campos de la tabla, podrias hacer un foreach parecido:
Código PHP:
$campos=array();
$valores=array();
$no_campos=array('enviar'); // array con los nombres de los
// campos del formulario que no corresponden con un campo de
// la tabla, como el boton de enviar
foreach($_POST as $nombre_campo => $valor) {
if (!in_array($nombre_campo,$no_campos)) {
$campos[]=$nombre_campo;
$valores[]="'".$valor."'"; // le ponemos las comillas
}
}
$campos_sql=implode(',',$campos);
$valores_sql=implode(',',$valores);
$sql="INSERT INTO tabla ($campos_sql) VALUES ($valores_sql)";
echo $sql;
Mas o menos. Lo he sacado directamente de mi cabeza, todavia no lo he probado. Asi que puede fallar por todos lados.
Pero la idea seria esa: crear la cadena SQL en el bucle.
Suerte.
PD: Por supuesto, si hay otros campos de la BD que no vienen del formulario (como una fecha que tome el valor de NOW()), debes meterlo en la $sql a "mano".