Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/10/2013, 21:14
Avatar de giancarloffi
giancarloffi
 
Fecha de Ingreso: julio-2013
Mensajes: 63
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta actualizar ultimos registros agregados

Hola Saludos a todos, bueno tengo un problemita con la isercion de unos datos, lo que pasa es que estoy insertando unos datos de una hoja de excel y pues los inserte bien y actualice bien pero la tabla ya tiene datos registrados mediante un formulario y con el codigo que ingrese a la hora de actualizar me actualiza todo y solo queria actualizar los datos que ingrese de la hoja excel aqui mi codigo haber si me pueden dar alguna idea de como hacerlo

Código PHP:
$i = 11; //celda inicial en la cual empezara a realizar el barrido de la grilla de excel
        
$total = 0;
        
$contador = 0;
        while (
$total == 0) { //mientras el parametro siga en 0 (iniciado antes) que quiere decir que no ha encontrado un NULL entonces siga metiendo datos
            //$nocontrol = $objPHPExcel->getActiveSheet()->getCell('B' . $i)->getCalculatedValue();
            
echo $nombre_tipoexa = $objPHPExcel->getActiveSheet()->getCell('F' . $i)->getCalculatedValue();
            echo 
" - ";
            echo 
$valor = $objPHPExcel->getActiveSheet()->getCell('S' . $i)->getCalculatedValue();
            echo 
"<br>";
            
$c = "INSERT INTO examen_otros (dni,idficha,id_tipoexa,tipo,valor,activo,diagnostico,recomendacion,seleccionado, nombre_tipoexa) 
               VALUES('" 
. $dni . "','" . $ficha . "','" . $tipoexa . "','" . $xtipo . "','" . $valor . "','1','" . $diagnostico . "','" . $recomendacion . "','" . $xseleccion . "','" . $nombre_tipoexa . "')";
            
mysql_query($c);
            
$i++;
            if (
$objPHPExcel->getActiveSheet()->getCell('B' . $i)->getCalculatedValue() == NULL) { //pregunto que si ha encontrado un valor null en una columna inicie un parametro en 1 que indicaria el fin del ciclo while
                
$total = 1; //para detener el ciclo cuando haya encontrado un valor NULL
            
}
            
$contador = $contador + 1;
        }
        
$totalIngresados = $contador; //(porque se se para con un NULL y le esta registrando como que tambien un dato)
        
echo "Total elementos subidos: <strong>$totalIngresados</strong>";
    } else {
//si no se ha cargado el bak
        
echo "Necesitas primero importar el archivo";
    }
    
$consulta2 = "Select * from examen_otros";
    
$resultado = mysql_query($consulta2);
    while (
$total = mysql_fetch_array($resultado)) {
        
$id = $total['id'];
        
$valor_nombre = $total['nombre_tipoexa'];
        
$valor_valor = $total['valor'];
        if (
$valor_nombre == "GLUCOSA") {
            
$tipoexa = 1;
        } elseif (
$valor_nombre == 'CREATININA') {
            
$tipoexa = 2;
        } elseif (
$valor_nombre == 'TRIGLICERIDOS') {
            
$tipoexa = 3;
        } elseif (
$valor_nombre == 'G-GLUTAMIL') {
            
$tipoexa = 4;
        } elseif (
$valor_nombre == 'TGO') {
            
$tipoexa = 5;
        } elseif (
$valor_nombre == 'COLESTEROL') {
            
$tipoexa = 6;
        } else {
            
$tipoexa = "";
        }
        if (
$valor_valor >= 100 and $valor_nombre == "GLUCOSA") {
            
$xtipo = 'N';
        } elseif (
$valor_valor < 100 and $valor_nombre == "GLUCOSA") {
            
$xtipo = 'A';
        } elseif (
$valor_valor >= 120 and $valor_nombre == "COLESTEROL") {
            
$xtipo = 'N';
        } elseif (
$valor_valor < 100 and $valor_nombre == "COLESTEROL") {
            
$xtipo = 'A';
        } elseif (
$valor_valor >= 50 and $valor_nombre == "TGO") {
            
$xtipo = 'A';
        } elseif (
$valor_valor < 50 and $valor_nombre == "TGO") {
            
$xtipo = 'A';
        } elseif (
$valor_valor >= 1 and $valor_nombre == "CREATININA") {
            
$xtipo = 'A';
        } elseif (
$valor_valor < 0.5 and $valor_nombre == "CREATININA") {
            
$xtipo = 'A';
        } else {
            
$xtipo = '';
        }
        
$consulta = "update examen_otros set id_tipoexa= '$tipoexa', tipo='$xtipo' where id = $id";
        
mysql_query($consulta);
    }
    
unlink($destino); //desenlazar a destino el lugar donde salen los datos(archivo)
} 
en si lo que necesito es que si el excel tiene 8 registros pues despues de insertar eoss 8 me los actualice, esto es porque el excel no tiene todos lo datos que requiero en la BD y tengo que actualizarlo para poder insertarlos espeor haberme dejado entender.