Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/03/2013, 11:06
warbandit69
 
Fecha de Ingreso: diciembre-2008
Ubicación: http://www.solucionesrios.tk/
Mensajes: 413
Antigüedad: 15 años, 4 meses
Puntos: 19
Busqueda Evitar Duplicidad en Carga Excel

Buenas Tardes, gracias por leer mi post

Tengo esta funcion con algunas validaciones, y debo evitar duplicidad de informacion por Rif y evitar duplicidad de correos

Sucede que me duplica la info aun y con las validaciones, me podrian ayudar a evitarlo? gracias

Código PHP:
function agregar_excel($archivo$hostname_origen$username_origen$password_origen$database_origen )
{
    
$origen mysql_connect($hostname_origen$username_origen$password_origen) or trigger_error(mysql_error(),E_USER_ERROR);  
mysql_select_db ($database_origen) or die ("Problem with database: " mysql_error() . " ," __FILE__ );
    
// Test CVS
    
@require_once ('clases/excel/Excel/reader.php');
    
    
set_time_limit(0);
    
$data = new Spreadsheet_Excel_Reader();
 
    
$data->setOutputEncoding('CP1251');
    
$data->read("excel/".$archivo);

    
    
/*
    1     -> ESTADO
    2     -> CIUDAD
    3     -> RIF
    4     -> NOMBRE
    5     -> CORREO
    6     -> TELEFONOS
    7     -> WEB
    8     -> CONTACTO
    9     -> ACTIVIDAD
    10     -> DIRECCION
    */
    
    
$data = new Spreadsheet_Excel_Reader();

    
// Set output Encoding.
    
$data->setOutputEncoding("CP1251");

    
$data->read("excel/".$archivo);

    
$respuesta = array();
    
$prerespuesta = array();
    echo 
"<table border='1'>";
    for (
$i 1$i <= $data->sheets[0]['numRows']; $i++) {
        echo 
"<tr>";
        if (
$i != 1)
        {
            
$totalRows_rif 0;
            
$totalRows_correos 0;
            
$totalRows_correos2 0;
            for (
$j 1$j <= $data->sheets[0]['numCols']; $j++) {
                
                if (
$j == 1)
                {
                    
//Estado
                    
echo "<td>".$prerespuesta[$i]['ESTADO'] = $data->sheets[0]['cells'][$i][$j]."</td>";    
                }
                if (
$j == 2)
                {
                    
//Ciudad
                    
echo "<td>".$prerespuesta[$i]['CIUDAD'] = $data->sheets[0]['cells'][$i][$j]."</td>";
                }
                if (
$j == 3)
                {
                    
mysql_select_db($database_origen$origen);
                    
$query_rif "SELECT * FROM empresas WHERE RIF = '".$data->sheets[0]['cells'][$i][$j]."'";
                    
$rif mysql_query($query_rif$origen) or die(mysql_error());
                    
$row_rif mysql_fetch_assoc($rif);
                    
$totalRows_rif mysql_num_rows($rif);
                    
//Rif
                    
echo "<td>".$prerespuesta[$i]['RIF'] = $data->sheets[0]['cells'][$i][$j]."</td>";
                }
                if (
$j == 4)
                {
                    
//Nombre
                    
echo "<td>".$prerespuesta[$i]['NOMBRE'] = $data->sheets[0]['cells'][$i][$j]."</td>";
                }
                if (
$j == 5)
                {
                    
mysql_select_db($database_origen$origen);
                    
$query_correos "SELECT * FROM empresas WHERE `CORREO 1` = '".$data->sheets[0]['cells'][$i][$j]."'";
                    
$correos mysql_query($query_correos$origen) or die(mysql_error());
                    
$row_correos mysql_fetch_assoc($correos);
                    
$totalRows_correos mysql_num_rows($correos);

                    
mysql_select_db($database_origen$origen);
                    
$query_correos2 "SELECT * FROM correos WHERE correo = '".$data->sheets[0]['cells'][$i][$j]."'";
                    
$correos2 mysql_query($query_correos2$origen) or die(mysql_error());
                    
$row_correos2 mysql_fetch_assoc($correos2);
                    
$totalRows_correos2 mysql_num_rows($correos2);
                    
//Correo
                    
echo "<td>".$prerespuesta[$i]['CORREO'] = $data->sheets[0]['cells'][$i][$j]."</td>";

                }
                if (
$j == 6)
                {
                    
//Telefonos
                    
echo "<td>".$prerespuesta[$i]['TELEFONO'] = $data->sheets[0]['cells'][$i][$j]."</td>";
                }
                if (
$j == 7)
                {
                    
//Web
                    
echo "<td>".$prerespuesta[$i]['WEB'] = $data->sheets[0]['cells'][$i][$j]."</td>";
                }
                if (
$j == 8)
                {
                    
//Contacto
                    
echo "<td>".$prerespuesta[$i]['CONTACTO'] = $data->sheets[0]['cells'][$i][$j]."</td>";
                }
                if (
$j == 9)
                {
                    
//Actividad
                    
echo "<td>".$prerespuesta[$i]['ACTIVIDAD'] = $data->sheets[0]['cells'][$i][$j]."</td>";
                }
                if (
$j == 10)
                {
                    
//Direccion
                    
echo "<td>".$prerespuesta[$i]['DIRECCION'] = $data->sheets[0]['cells'][$i][$j]."</td>";
                }
                
            }
            if (
$totalRows_rif != 0)
            {
                if  ((
$totalRows_correos == 0) && ($totalRows_correos2 == 0))
                {
                    
//Grabo el correo dentro del Rif de la Empresa
                    
echo "<td>Correo Añadido a Empresa Encontrada</td>";
                    
$respuesta[$i] = $prerespuesta[$i];    
                    
$query1 "INSERT INTO `".$database_origen."`.`correos`
                    (`empresa`,
                    `correo`)
                    VALUES
                    ('"
.$row_rif['ID']."',
                     '"
.$respuesta[$i]['CORREO']."');";
                } 
                else 
                {
                    echo 
"<td>Datos Ignorados por Repetición</td>";
                }
            } 
            else 
            {
                if  ((
$totalRows_correos == 0) && ($totalRows_correos2 == 0))
                {
                    
//Grabo la empresa en su totalidad    
                    
echo "<td>Empresa Añadida</td>";
                    
$respuesta[$i] = $prerespuesta[$i];
                    
$query1 "INSERT INTO `".$database_origen."`.`empresas`
                            (`ESTADO`,
                            `CIUDAD`,
                            `NOMBRE DE LA EMPRESA`,
                            `CORREO 1`,
                            `CORREO 2`,
                            `TELEFONOS`,
                            `PAGINA WEB`,
                            `PERSONA DE CONTACTO`,
                            `actividad`,
                            `activo`,
                            `fecha`,
                            `RIF`,
                            `direccion`)
                            VALUES
                            (
                            '"
.$respuesta[$i]['ESTADO']."',
                            '"
.$respuesta[$i]['CIUDAD']."',
                            '"
.$respuesta[$i]['NOMBRE']."',
                            '"
.$respuesta[$i]['CORREO']."',
                            '"
.$_SESSION['MM_Username']."',
                            '"
.$respuesta[$i]['TELEFONO']."',
                            '"
.$respuesta[$i]['WEB']."',
                            '"
.$respuesta[$i]['CONTACTO']."',
                            '"
.$respuesta[$i]['ACTIVIDAD']."',
                            '1',
                            '"
.date('Y-m-d H:i:s')."',
                            '"
.$respuesta[$i]['RIF']."',
                            '"
.$respuesta[$i]['DIRECCION']."'
                            );
                            "
;
                } 
                else 
                {
                    echo 
"<td>Correo Repetido</td>";    
                }
            }
            
//echo $query1;
            
mysql_select_db($database_origen$origen);
            
$Result1 mysql_query($query1$origen) or die(mysql_error());
        echo 
"</tr>";
        }
    }
    echo 
"</table>";
    if (isset(
$rif))
    {
        
mysql_free_result($rif);
    }
    if (isset(
$correos))
    {
        
mysql_free_result($correos);
    }
    if (isset(
$correos2))
    {
        
mysql_free_result($correos2);
    }
    
//print_r($respuesta);

__________________
http://www.solucionesrios.tk/

Visita mi Web!