Foros del Web » Programando para Internet » PHP »

duplicacion de registros al insertar

Estas en el tema de duplicacion de registros al insertar en el foro de PHP en Foros del Web. salu2 amigos. resulta que prepare un script para insertar unos datos a una BD. son varias secciones (por asi decirlo) y por tal motivo decidi ...
  #1 (permalink)  
Antiguo 23/01/2006, 23:35
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
duplicacion de registros al insertar

salu2 amigos.

resulta que prepare un script para insertar unos datos a una BD.

son varias secciones (por asi decirlo) y por tal motivo decidi hacer varios insert en el mismo script dado a que los datos van a tablas distintas pero se digitan en un mismo formulario, todo funciona bien, el problema es que cuando lo ejecuto, hay tres insert que me los duplica, es decir me inserta 2 veces el mismo registro, esto me pasa en los inseert de:

-residuos
-educacion_ambiental
-fuentes


aqui pongo mi codigo, esta comentado para encontrar facil cada parte

Código PHP:
<?
include('connect.php');

//-------------------variables datos de municipio-------------

$municipio=$_REQUEST['municipio'];
$ubicacion=$_REQUEST['ubicacion'];
$anno=$_REQUEST['anno'];
$poblacion=$_REQUEST['poblacion'];
$pn_percapita=$_REQUEST['pn_percapita'];
$pn_total=$_REQUEST['pn_total'];

//-------------------variables empresa de aseo-------------------
$empresa_aseo=$_REQUEST['empresa_aseo'];
$caracter=$_REQUEST['caracter'];
$cobertura=$_REQUEST['cobertura'];
$barrido=$_REQUEST['barrido'];
$email=$_REQUEST['email'];
$web=$_REQUEST['web'];
$telefono=$_REQUEST['telefono'];
//--------------------variables sitio de disposicion final---------------
$stitiofinal=$_REQUEST['sitiofinal'];
$caracteristicas=$_REQUEST['caracteristicas'];
$distancia=$_REQUEST['distancia'];
$tiempo_vida=$_REQUEST['tiempo_vida'];
$licencia=$_REQUEST['licencia'];
$lixiviados=$_REQUEST['lixiviados'];
$gases=$_REQUEST['gases'];
$contamina=$_REQUEST['contamina'];
$fuentequecontamina=$_REQUEST['cual_fuente'];
//-------------------------------------------variables programas de educacion
$programa=$_REQUEST['programa_educacion'];
$fuente=$_REQUEST['fuente'];
$transporte=$_REQUEST['transporte'];
$disposicion=$_REQUEST['disposicion_final'];
$no_hay_programa=$_REQUEST['no_hay'];
$hay_programa_en=$fuente.", ".$transporte.", ".$disposicion.", ".$no_hay_programa;
$notas=$_REQUEST['notas'];
$separacion=$_REQUEST['separacion'];
$recoleccion=$_REQUEST['recoleccion'];
$pgirs=$_REQUEST['pgirs'];
$planaccion=$_REQUEST['planaccion'];
$dia=$_REQUEST['dia'];
$mes=$_REQUEST['mes'];
$anno2=$_REQUEST['anno2'];
$fecha=$anno2."-".$mes."-".$dia;
$compostaje=$_REQUEST['compostaje'];
$incineracion=$_REQUEST['incineracion'];
$recuperacion=$_REQUEST['recuperacion'];
$otro=$_REQUEST['otro'];
$programas=$compostaje.", ".$incineracion.", ".$recuperacion.", ".$otro;
$cual=$_REQUEST['cual'];
//--------------------- variables datos residuos----------------------
$humedad=$_REQUEST['humedad'];
$alimentos=$_REQUEST['alimentos'];
$poda=$_REQUEST['poda'];
$vidrio=$_REQUEST['vidrio'];
$papel_carton=$_REQUEST['$papel_carton'];
$plastico=$_REQUEST['plastico'];
$madera=$_REQUEST['madera'];
$metales=$_REQUEST['metales'];
$textiles=$_REQUEST['textiles'];
$caucho=$_REQUEST['caucho'];
$otros=$_REQUEST['otros'];
$fuente=$_REQUEST['fuente'];
//-------------------------variables fuentes-----------------------
$fubicacion=$_REQUEST['fuente_ubicacion'];
$fpoblacion=$_REQUEST['fuente_poblacion'];
$fpnpercapita=$_REQUEST['fuente_pn_percapita'];
$fpntotal=$_REQUEST['fuente_pn_total'];

//------------------insert fuentes----------------------------------
mysql_db_query("residuos","INSERT INTO fuentes(municipio,fuente1,fuente2,fuente3,fuente4) values ('$municipio','$fubicacion','$fpoblacion','$fpnpercapita','$fpntotal')") or die(mysql_error());
//------------------insert caracteristicas de los residuos---------------------
mysql_db_query("residuos","INSERT INTO residuos(municipio,humedad,alimentos,poda,vidrio,papel_carton,plastico,madera,metales,textiles,caucho,otros,fuente) values ('$municipio','$humedad','$alimentos','$poda','$vidrio','$papel_carton','$plastico','$madera','$metales','$textiles','$caucho','$otros','$fuente')") or die(mysql_error());
//-------------------insert programas de educacion ambiental--------------------
mysql_db_query("residuos","INSERT INTO educacion_ambiental(municipio,educacion,reciclaje,notas,separacion,recoleccion,programas,otro,pgirs,planaccion,ejecu_planaccion) values ('$municipio','$programa','$hay_programa_en','$notas','$separacion','$recoleccion','$programas','$cual','$pgirs','$planaccion','$fecha')") or die(mysql_error());
//--------------------insert datos municipio------------------------------------
mysql_db_query("residuos","INSERT into municipio(municipio,año,ubicacion,poblacion,pn_percapita,pn_total) values ('$municipio','$anno','$ubicacion','$poblacion','$pn_percapita','$pn_total')") or die(mysql_error());
//---------------------insert sitio de disposicion final------------------------
mysql_db_query("residuos","INSERT INTO disposicion_final(municipio,sitio,caracteristicas,distancia,tiempo_vida,licencia,lixiviados,gases,contamina,fcontamina) values ('$municipio','$sitiofinal','$caracteristicas','$distancia','$tiempo_vida','$licencia','$lixiviados','$gases','$contamina','$fuentequecontamina')") or die(mysql_error());
//---------------------insert datos empresa de asseo----------------------------
mysql_db_query("residuos","INSERT into emp_aseo (municipio,prestadora,caracter,cobertura,barrido,email,web,telefono) values ('$municipio','$empresa_aseo','$caracter','$cobertura','$barrido','$email','$web','$telefono')") or die(mysql_error());
?>
gracias una vez mas por su ayuda
__________________
Say no more.......
  #2 (permalink)  
Antiguo 24/01/2006, 21:32
 
Fecha de Ingreso: enero-2002
Mensajes: 24
Antigüedad: 22 años, 3 meses
Puntos: 0
Vi el codigo muy por arriba pero fijate creo que debes porner un espacio donde puse la X...

fuentesX(municipio

Fijate que en los demas INSERTS pasa lo mismo. No estoy seguro que sea eso, pero prueba.
__________________
Mauro Rondinelli
Webmaster de El Guru Programador | myStudio Diseño Web
  #3 (permalink)  
Antiguo 24/01/2006, 21:56
Avatar de sam
sam
 
Fecha de Ingreso: agosto-2001
Ubicación: Aguascalientes, México.
Mensajes: 572
Antigüedad: 22 años, 7 meses
Puntos: 2
No estas usando llaves primarias??, porque se supone que si las estas utilizando, el mismo DBMS debe impedir la duplicacion de registros..
O acaso estas usando autoincrement??
__________________
El que tiene voluntad de aprender, encontrará siempre un maestro...
Proverbio Aleman
  #4 (permalink)  
Antiguo 24/01/2006, 22:57
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
gracias sam era porque no habia definido mis llaves primarias, ahora si funciona como debe ser
__________________
Say no more.......
  #5 (permalink)  
Antiguo 24/01/2006, 23:40
Avatar de sam
sam
 
Fecha de Ingreso: agosto-2001
Ubicación: Aguascalientes, México.
Mensajes: 572
Antigüedad: 22 años, 7 meses
Puntos: 2
De nada, para eso estamos aqui, para ayudar en lo que se pueda, no se mucho de bases de datos, pero pues que bueno que te fue de ayuda mi post. ^^
__________________
El que tiene voluntad de aprender, encontrará siempre un maestro...
Proverbio Aleman
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:24.