Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/10/2011, 07:54
Avatar de Oscar_Hidro
Oscar_Hidro
 
Fecha de Ingreso: septiembre-2011
Ubicación: Aguascalientes, Mexico.
Mensajes: 200
Antigüedad: 12 años, 7 meses
Puntos: 25
Pregunta Problemas en php al insertar campo NULL en MySQL

Que tal amigo del foro, vengo con una duda que me ha estado quitando el sueño por algunos dias. Tengo una tabla en mysql de empresa y grupo. Creo una relacion de empresa a grupo donde una empresa puede o no pertenecer a un grupo. Algo similar tengo tambien en otra tabla de contacto, donde de manera obligatoria, un contacto pertenece a una empresa, y ahi no hay problema en la relacion, puesto que en mi formulario php, se valida de manera obligatoria para el registro de un contacto con una empresa.

Al principio crei que el problema era en mi base de datos, pero hemos comprobado que no es asi. puesto que en mi campo relacionado, esta definido como NULL y si captura registro desde mysql, pero no desde mi formulario. Entonces todo apunta a que sea en mi codigo php.

Les explico rapido como esta estructurado. Retomo los valores con metodo POST de los campos de mi formulario php
Código PHP:
Ver original
  1. $nomComercial=$_POST['nombre_comercial'];
  2.     $nomGr=$_POST['grupo'];
  3.     $razSocial=$_POST['razon_social'];
  4.     $giroEmp=$_POST['giro_empresa'];
  5.     $rfcEmp=$_POST['rfc'];
  6.     $calleEmp=$_POST['calle'];
  7.     $noExter=$_POST['no_ext'];
  8.     $noInter=$_POST['no_int'];
  9.     $cpEmp=$_POST['codigo_postal_emp'];
  10.     $estadoEmp=$_POST['estado_emp'];
  11.     $municEmp=$_POST['municipio_emp'];
  12.     $coloniaEmp=$_POST['colonia_emp'];
  13.     $ladaEmp=$_POST['lada_emp'];
  14.     $telEmp=$_POST['tel_emp'];
  15.     $extEmp=$_POST['exten_emp'];
  16.     $clasifEmp=$_POST['clasif_emp'];
  17.    
  18.     $nomComercialGr=$_POST['nom_comer_gr'];
  19.     $razSocialGr=$_POST['raz_soc_gr'];
  20.     $rfcGr=$_POST['rfc_gr'];
  21.     $giroGr=$_POST['giro_gr'];
  22.     $calleGr=$_POST['calle_gr'];
  23.     $noExterGr=$_POST['no_ext_gr'];
  24.     $noInterGr=$_POST['no_int_gr'];
  25.     $cpGr=$_POST['cod_post_gr'];
  26.     $estadoGr=$_POST['estado_gr'];
  27.     $municGr=$_POST['municipio_gr'];
  28.     $coloniaGr=$_POST['colonia_gr'];
  29.     $ladaGr=$_POST['lada_gr'];
  30.     $telGr=$_POST['telefono_gr'];
  31.     $extGr=$_POST['exten_gr'];
  32.     $clasifGr=$_POST['clasif_gr'];

Despues creo una condicion validando algunos campos de manera obligatoria, que me indican si se esta llenando un solo formulario(Contacto), ó se esta llenando tambien el de empresa para crear un nuevo registro de empresa.
Código PHP:
Ver original
  1. if(!empty($nomCont) && !empty($apPatCont)&& !empty($apMatCont) && !empty($sxCont) && !empty($profCont) && !empty($puestoCont) && !empty($especCont) && !empty($dateCont) && !empty($mailCont) && !empty($ladaCont) && !empty($rangoCont) && !empty($origDat) && !empty($nomComercial) && !empty($razSocial) && !empty($giroEmp) && !empty($rfcEmp) && !empty($calleEmp) && !empty($noExter) && !empty($noInter) && !empty($cpEmp) && !empty($estadoEmp) && !empty($municEmp) && !empty($coloniaEmp) && !empty($ladaEmp) && !empty($telEmp) && !empty($extEmp) && empty($razSocialGr) && empty($rfcGr) && empty($giroGr) && empty($calleGr) && empty($noExterGr) && empty($noInterGr) && empty($cpGr) && empty($estadoGr) && empty($municGr) && empty($coloniaGr) && empty($ladaGr) && empty($telGr) && empty($extGr)){

Si esta condicion se cumple, procede a la captura del contacto y de la empresa, pero como hay una relacion de empresa a grupo, no me permite captura la empresa, y por consiguiente el contacto, sin capturar un grupo.

Código PHP:
Ver original
  1. //Empresa
  2.         $insertar=mysql_query("INSERT INTO empresa(nombre_comercial,nom_comer_gr,razon_social,giro_empresa,rfc,calle,no_ext,no_int,codigo_postal_emp,estado_emp,municipio_emp,colonia_emp,lada_emp,tel_emp,exten_emp,clasif_emp) VALUES('{$nomComercial}','{$nomComercialGr}','{$razSocial}','{$giroEmp}','{$rfcEmp}','{$calleEmp}','{$noExter}','{$noInter}','{$cpEmp}','{$estadoEmp}','{$municEmp}','{$coloniaEmp}','{$ladaEmp}','{$telEmp}','{$extEmp}','{$clasifEmp}')",$conexion);
  3.        
  4.        
  5.         //Contacto
  6.         $insertar_cont=mysql_query("INSERT INTO contacto(nombre_comercial,nombre_contacto,ap_paterno_cont,ap_materno_cont,sx_cont,profesion_cont,puesto_cont,especialidad_cont,date_cont,email_cont,lada_cont,tel_cont,ext_cont,rango_cont,perteneciente) VALUES('{$nomComercial}','{$nomCont}','{$apPatCont}','{$apMatCont}','{$sxCont}','{$profCont}','{$puestoCont}','{$especCont}','{$dateCont}','{$mailCont}','{$ladaCont}','{$telCont}','{$extCont}','{$rangoCont}','{$origDat}')",$conexion);

Al parecer el problema viene en la variable $nomComercialGr, puesto que ahi me amacena el valor del grupo, si es que existe un grupo, si no, no almacena registro alguno.