Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Insertar Valores NULL desde un Array

Estas en el tema de Insertar Valores NULL desde un Array en el foro de PHP en Foros del Web. Hola a todo como esta verán tengo el siguiente codigo Array @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $nsp_data_pv [ ] = array ( 'nsp_programa' => ...
  #1 (permalink)  
Antiguo 29/09/2015, 13:15
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años, 1 mes
Puntos: 2
Insertar Valores NULL desde un Array

Hola a todo como esta verán tengo el siguiente codigo
Array
Código PHP:
Ver original
  1. $nsp_data_pv[]=array('nsp_programa' =>$_POST['nsp_programa_1'],'nsp_valor_venta' =>$_POST['nsp_valor_venta_1']);
  2. $nsp_data_pv[]=array('nsp_programa' =>$_POST['nsp_programa_2'],'nsp_valor_venta' =>$_POST['nsp_valor_venta_2']);
  3. $nsp_data_pv[]=array('nsp_programa' =>$_POST['nsp_programa_3'] ,'nsp_valor_venta' =>$_POST['nsp_valor_venta_3']);
  4. $nsp_data_pv[]=array('nsp_programa' =>$_POST['nsp_programa_4'] ,'nsp_valor_venta' =>$_POST['nsp_valor_venta_4']);
query para inserción
Código PHP:
Ver original
  1. $seg_id_pap = mysql_insert_id();
  2.   $query_pap_servicio = "INSERT INTO seg_pap_servicio(seg_pap_id,jc_servicio_id,seg_pap_valor_venta) VALUES";
  3.   for($ni=0;$ni<count($nsp_data_pv);$ni++){
  4.     $query_pap_servicio.="(".$seg_id_pap.",".$nsp_data_pv[$ni]['nsp_programa'].",".$nsp_data_pv[$ni]['nsp_valor_venta']."),";
  5.   }
  6.   $query_pap_servicio = substr($query_pap_servicio,0,strlen($query_pap_servicio)-1);
  7.   mysql_query($query_pap_servicio, $link) or die(mysql_error());
Lo hace bien pero el problema esta en que el valor nsp_programa_2,nsp_valor_venta_2,nsp_programa_3,ns p_valor_venta_3 y el ultimo a veces pueden enviarse en vacio es decir en Null en mi HTML como estos valores provienen de select los puse asi
Código HTML:
Ver original
  1. <option value="Null">Programa 4</option>
el tema esta que no registra si estan Null
  #2 (permalink)  
Antiguo 29/09/2015, 13:49
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 1 mes
Puntos: 8
Respuesta: Insertar Valores NULL desde un Array

Hola otra vez!.
Y dime, que error te sale o como te crea la concatenación de tu insert?.
Qué tipo de datos estas usando para esos campos?
  #3 (permalink)  
Antiguo 29/09/2015, 14:31
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años, 1 mes
Puntos: 2
Respuesta: Insertar Valores NULL desde un Array

Hola Otra vez
mmm haber te explico por ejemplo un usuario podria guardar en mi tabla asi
Código MySQL:
Ver original
  1. seg_pap_id | jc_servicio_id | seg_pap_valor_venta
  2.     10              15                         25000
  3.     10              Null                        Null
  4.     10              Null                        Null
  5.     10              Null                         Null
Debería guardarse de esa manera de esa manera claro de mi array
Código PHP:
Ver original
  1. $nsp_data_pv[]=array('nsp_programa' =>$_POST['nsp_programa_1'],'nsp_valor_venta' =>$_POST['nsp_valor_venta_1']);
  2. $nsp_data_pv[]=array('nsp_programa' =>$_POST['nsp_programa_2'],'nsp_valor_venta' =>$_POST['nsp_valor_venta_2']);
  3. $nsp_data_pv[]=array('nsp_programa' =>$_POST['nsp_programa_3'] ,'nsp_valor_venta' =>$_POST['nsp_valor_venta_3']);
  4. $nsp_data_pv[]=array('nsp_programa' =>$_POST['nsp_programa_4'] ,'nsp_valor_venta' =>$_POST['nsp_valor_venta_4']);
y el error que me sale es el siguiente
Código MySQL:
Ver original
  1. You have an error your SQL syntax; check the manual
  2. MySQL server version for the syntax to use near '),(10,Null,)' at line 1
claro que desde la aplicación valido que guarde como mínimo un campo
  #4 (permalink)  
Antiguo 29/09/2015, 15:28
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años, 1 mes
Puntos: 2
Respuesta: Insertar Valores NULL desde un Array

Hola oggy_15_3 me di cuenta de mi error y fue porque mi uno de esos campos en mi tabla estaba declarado asi
Código MySQL:
Ver original
  1. `seg_pap_valor_venta` decimal(15,0) DEFAULT NULL,
y esta tratando de guardar asi
Código PHP:
Ver original
  1. $query_pap_servicio.="(".$seg_id_pap.",".$nsp_data_pv[$ni]['nsp_programa'].",".$nsp_data_pv[$ni]['nsp_valor_venta']."),";
y lo corregi de esto
Código PHP:
Ver original
  1. ".$nsp_data_pv[$ni]['nsp_valor_venta']."
a esto
Código PHP:
Ver original
  1. '".$nsp_data_pv[$ni]['nsp_valor_venta']."'
simplemente agregue las comillas simples '' para que guarde en 0 en mi campo de tipo decimal y guarda asi ahora
Código MySQL:
Ver original
  1. seg_pap_id | jc_servicio_id | seg_pap_valor_venta
  2.     10              15                         25000
  3.     10              Null                        0
  4.     10              Null                        0
  5.     10              Null                        0
ya que en ese campo escriben cifras Gracias por tu interes amigo

Etiquetas: html, mysql, null, select, sql
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 12:14.