Ver Mensaje Individual
  #13 (permalink)  
Antiguo 14/03/2013, 11:21
Avatar de JuJoGuAl
JuJoGuAl
 
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 15 años, 6 meses
Puntos: 19
Respuesta: Error con un INSERT anidado

Ok, dejame ponerte lo que tengo, lo que pasa es que e hecho MIL cambios jeje

Código PHP:
                //Recorro todo el Libro para Obtener todos los datos
                
$indiceinicio='3'//Segun la cantidad de Meses por defecto son 4
                
$indicefin='0'
                
//Leo el Nombre del Documento para deducir el mes actual.
                
$cad=explode(' ',$destino);
                
$mesa_numeros=strtoupper($cad[1]);
                for (
$indiceinicio=3$indiceinicio>=$indicefin$indiceinicio--)
                {
                    
//echo $mesa_numeros;
                    
if ($objPHPExcel->sheetNameExists($mesa_numeros))
                    {
                        
$objPHPExcel->setActiveSheetIndexByName($mesa_numeros);
                        
$inicionum=2;
                        
$finnum=18//en el libro de numeros hasta 15 llegan las franquicias                        
                        //armo la fecha para el registro                        
                        
$fec_regnum=$an."-".cual_mes_text($mesa_numeros)."-05";
                        
$sqlnum="";
                        for (
$inicionum=2$inicionum<=$finnum$inicionum++)
                        {
                            
//Selecciono los datos que busco
                            
$num[$inicionum]['frq']=nombre_franq($objPHPExcel->getActiveSheet()->getCell('A'.$inicionum)->getCalculatedValue());
                            
$num[$inicionum]['devn']=$objPHPExcel->getActiveSheet()->getCell('B'.$inicionum)->getCalculatedValue();
                            
$num[$inicionum]['facn']=$objPHPExcel->getActiveSheet()->getCell('C'.$inicionum)->getCalculatedValue();
                            
$num[$inicionum]['facm']=$objPHPExcel->getActiveSheet()->getCell('D'.$inicionum)->getCalculatedValue();
                            
$num[$inicionum]['devm']=$objPHPExcel->getActiveSheet()->getCell('E'.$inicionum)->getCalculatedValue();
                            
$num[$inicionum]['comt']=$objPHPExcel->getActiveSheet()->getCell('H'.$inicionum)->getCalculatedValue();
                            
$num[$inicionum]['comk']=$objPHPExcel->getActiveSheet()->getCell('I'.$inicionum)->getCalculatedValue();                                                                                    
                            
//
                            //Comienzo el Script del Insert                
                            
$sqlnum.=($num[$inicionum]['frq']=='NO')?"":"INSERT INTO `indicadores_numeros` (`id_franquicia`, `fact`, `dev`, `facturado`, `devolucion`, `compras_tienda`, `compras_kepen`, `fec_reg`) VALUES ('".$num[$inicionum]['frq']."', '".$num[$inicionum]['facn']."', '".$num[$inicionum]['devn']."', '".$num[$inicionum]['facm']."', '".$num[$inicionum]['devm']."', '".$num[$inicionum]['comt']."', '".$num[$inicionum]['comk']."', '".$fec_regnum."');";
                        }
                        echo 
$sqlnum;
                        
conectar_bd();
                        
$result=mysql_query($sqlnum) or die(mysql_error());
                        if(
$result)
                        {
                            
//Se guardo
                            
$men1='<p style="color: #09D4FF; font-size:20px">Se Procesaron los Registros para el mes: <b>'.$mesa_numeros.'</b></p>';
                        }
                        else
                        {
                            
//No se Guardo
                            
$men1='<p style="color: #F67F00; font-size:18px">Ocurri&oacute; un error al Procesar la Data del mes: <b>'.$mesa_numeros.'</b>.</p>';
                        }
                        
//echo "Para el mes: ".$mesa_numeros."Los registros son: <br>".$sqlnum."<br>FIN<br>";
                    
}
                    
//cambio el mex por numero:
                    
$mesa_numeros=cual_mes_text($mesa_numeros);
                    
//le resto 1 y luego lo paso a texto de nuevo:
                    
$mesa_numeros=$mesa_numeros-1;
                    
//SI llega a 0 lo regreso a 12
                    
$an=($mesa_numeros==0)?$an-1:$_POST['an'];
                    
$mesa_numeros = ($mesa_numeros==0)?"12":$mesa_numeros;
                    
$mesa_numeros=cual_mes($mesa_numeros);
                }
//END del FOR 
actualmente lo tengo asi pero habia hecho un cambio:
Código PHP:
//Comienzo el Script del Insert                
                            
$sqlnum.=($num[$inicionum]['frq']=='NO')?"":"INSERT INTO `indicadores_numeros` (`id_franquicia`, `fact`, `dev`, `facturado`, `devolucion`, `compras_tienda`, `compras_kepen`, `fec_reg`) VALUES ('".$num[$inicionum]['frq']."', '".$num[$inicionum]['facn']."', '".$num[$inicionum]['devn']."', '".$num[$inicionum]['facm']."', '".$num[$inicionum]['devm']."', '".$num[$inicionum]['comt']."', '".$num[$inicionum]['comk']."', '".$fec_regnum."');";
                            if (
nombre_franq($objPHPExcel->getActiveSheet()->getCell('A'.$inicionum)->getCalculatedValue())=="NO")
                            {
                                
$sqlnum.=",";
                            }
                            else
                            {
                                
$sqlnum.=";";
                            } 
y si le hacia print al sql, salia corectamente:
INSERT INTO TABLA (XX) VALORES
(VALORES),(VALORES);;;;

pero al final varios ";" y busco es que se detenga cuando ya encuentre un ";"