Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/10/2011, 08:55
Avatar de Rodrhigo
Rodrhigo
 
Fecha de Ingreso: septiembre-2011
Ubicación: Temuco-Valdivia-Osorno
Mensajes: 254
Antigüedad: 12 años, 7 meses
Puntos: 48
Respuesta: Problemas en php al insertar campo NULL en MySQL

Nesecito saber si pasa tu if.
Agrega debajo de tu if un:
Código PHP:
Ver original
  1. echo "<script>alert('Entre en en if')</script>";

y dime si entro.
--------------------------------
debajo de esto : $nomComercialGr=$_POST['nom_comer_gr']; agrega lo siguiente:
Código PHP:
Ver original
  1. echo "<script>alert('El valor recibido es: '".$nomComercialGr.")</script>";
y dime que recibes para cuando no ingresas un grupo para esa empresa.
-----------------------------------------------------------

Recuerda que cuando no ingresas un grupo para la empresa estas recibiendo un NULL o nada(en realidad no lo se porque no pusiste el codigo del formulario en el cliente) ..... DEBES MODIFICAR TU VARIABLE y colocarle un NULL como string. osea que en la linea 18 del codigo php que mostraste debes cambiarla por esto

Código PHP:
Ver original
  1. if(!isset($_POST['nom_comer_gr'] or $_POST['nom_comer_gr']==NULL or $_POST['nom_comer_gr']=='' ){
  2.     $nomComercialGr='NULL';
  3. }else{
  4.     $nomComercialGr="'".$_POST['nom_comer_gr']."'";
  5. }
(borra la linea 18 y remplazala por eso).
fijate que en el else le agregue una comilla simple...dentro de la comillas dobles..... ahora debes borrar las comillas simples de tu query las que estan asi:
$insertar=......'{$nomComercialGr}'......
y dejar asi:
$insertar=......{$nomComercialGr}......
aqui el codigo a reemplazar:
Código MySQL:
Ver original
  1. //Empresa
  2.         /* ANTIGUO
  3. $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);*/
  4. //NUEVO(le borre las comillas simples)
  5.         $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);
  6.        
  7.         //Contacto
  8.         $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);

(porque las comillas se las agregamos arriba). La razon por la que se hace esto es porque puedas que nesecites ingresar un NULL y si le agregas comillas seria una cadena llamada NULL como es una cadena te la va a bloquear porque esta relacionada con otra tabla que no posee una cadena llamada NULL.


si no te funciona esto entonces enviame los resultados de los alert() de arriba para saber que datos recibes en $_POST['nom_comer_gr'] cuando no ingresas un grupo