Foros del Web » Programando para Internet » PHP »

Aportación insert dinámico

Estas en el tema de Aportación insert dinámico en el foro de PHP en Foros del Web. Como siempre estoy preguntando dudas y aportando poco pues os dejo este script para recibir e insertar dinamicamete los campos de un formulario en la ...
  #1 (permalink)  
Antiguo 12/01/2005, 13:49
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Aportación insert dinámico

Como siempre estoy preguntando dudas y aportando poco pues os dejo este script para recibir e insertar dinamicamete los campos de un formulario en la base de datos con independencia de los nombres de los campos, solo hay que indicarle por url el nombre de la tabla aqui os lo dejo

Código PHP:
/*
 Recibimos por parametro la tabla para evitar confusiones
lo normal sería que el formulario de donde venimos tenga en el atributo action
algo como asi action="prueba.php?tabla=descargas" 
*/
$tabla$_GET[tabla];

/*
Recibimos todos los campos del formulario enviados por post y los convertimos en 2 arrays distintos
campo y valor mediante el bucle foreach
*/

$i=0;
foreach(
$_POST as $k=>$v){

$campo[$i]=$k;
// Al array valor le ponemos entre conmillas simples ya que es el formato que debe tener en el insert
$valor[$i]="'".$v."'";
$i++;
}

// Convertimos los dos arrays en cadenas separadas por comas con la función implode
$campos=implode(",",$campo);
$valores=implode(",",$valor);

// Conecto con la base de datos
include("conex.php");

//Inserto los campos en la bbdd
if(!mysql_db_query($bbdd,"insert into $tabla ($campos) values ($valores)")) echo "Error en la inserción de los datos"
Un saludo
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
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 21:06.