Foros del Web » Programando para Internet » PHP »

comparar registros mysql

Estas en el tema de comparar registros mysql en el foro de PHP en Foros del Web. Hola a todos Tengo una pregunta como puedo comparar el ultimo registro ingresado en mi tabla con el nuevo que quiero ingresar lo que pasa ...
  #1 (permalink)  
Antiguo 02/10/2012, 10:29
 
Fecha de Ingreso: marzo-2012
Ubicación: Bogota
Mensajes: 177
Antigüedad: 12 años, 1 mes
Puntos: 2
comparar registros mysql

Hola a todos

Tengo una pregunta como puedo comparar el ultimo registro ingresado en mi tabla con el nuevo que quiero ingresar lo que pasa es que cada vez q la aplicacion hace el insert se me ducplica la informacion aca les dejo mi codigo para saber si estoy haciendo algo mal

Código PHP:
<?php  

    
include("conexion.php");  
$link=conexion();  

$gestor = @fopen("../principal/Minuto/REPORTES/report_list_bcms_skill_5_time_00-00.txt""r");//tarificacion04202012.txt  
if ($gestor) {  
$i=  
$cod=0;  
 
$index=0;

    echo 
"<table border='1' align='center'>";  
    echo 
"<tr>";  
    echo 
"<td>Dia</td><td>Total_llamadas</td><td>Promedio_respuesta</td><td>Total_abandonadas</td><td>Promedio_abandono</td><td>Promedio_duracion</td><td>Total_otro_estado</td><td>Promedio_agentes</td><td>Nivel_servicio</td><td>Fecha</td>";  
    echo 
"</tr>";  
    while ((
$buffer fgets($gestor999)) !== false) { 
$index++;
/*if($index>=7){
exit();
}    */
//$nuevacadena=preg_split("/SUMMARY/",$buffer,2);
    
$texto strtolower($buffer);
    
$arr = array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","%","_","-","*");

echo 
"<br>";
$texto_nuevo str_replace($arr""$texto);
//echo $texto_nuevo;
    
$Dia=substr($texto_nuevo0,11);  
    
$Total_llamadas=substr($texto_nuevo,  14,3);  
    
$Promedio_respuesta=substr($texto_nuevo18,5); 
    
$Total_abandonadas=substr($texto_nuevo27,3);      
    
$Promedio_abandono=substr($texto_nuevo30,5);  
    
$Promedio_duracion=substr($texto_nuevo36,5);  
    
$Total_otro_estado=substr($texto_nuevo60,8);  
    
$Promedio_agentes=substr($texto_nuevo69,4);  
    
$Nivel_servicio =substr($texto_nuevo74,3);  
    
$Fechasubstr($texto_nuevo,  40,2);
    
    
    
$Dia=trim($Dia);//Dia     
    
$Total_llamadas=trim($Total_llamadas);//Total_llamadas 
    
$Promedio_respuesta=trim($Promedio_respuesta);//Promedio_respuesta  
    
$Total_abandonadas=trim($Total_abandonadas);//Total_abandonadas 
    
$Promedio_abandono=trim($Promedio_abandono);//Promedio_abandono  
    
$Promedio_duracion=trim($Promedio_duracion);//Promedio_duracion  
    
$Total_otro_estado=trim($Total_otro_estado);//Total_otro_estado  
    
$Promedio_agentes=trim($Promedio_agentes);//Promedio_agentes  
    
$Nivel_servicio=trim($Nivel_servicio);//Nivel_servicio  
    
$Fecha=trim($Fecha);
    
    
$Fecha1date("d-m" ,time());
$Hora1date("h am/pm" ,time());
$Hora_n =substr($Hora10,5);
//echo $Hora_n;

    
if ($Hora_n=='10 am' && $index==33){echo "Las 10 AM";
    
    echo 
"<tr>";  
    echo 
"<td>".$Dia."</td>";  
    echo 
"<td>".$Total_llamadas."</td>";  
    echo 
"<td>".$Promedio_respuesta."</td>";  
    echo 
"<td>".$Total_abandonadas."</td>";  
    echo 
"<td>".$Promedio_abandono."</td>";  
    echo 
"<td>".$Promedio_duracion."</td>";  
    echo 
"<td>".$Total_otro_estado."</td>";  
    echo 
"<td>".$Promedio_agentes."</td>";  
    echo 
"<td>".$Nivel_servicio."</td>";
    echo 
"<td>".$Fecha1."</td>";    
    echo 
"</tr>";
    if (!
mysql_query("INSERT INTO hora_bancolombia (Hora,Total_llamadas,Promedio_respuesta,Total_abandonadas,Promedio_abandono,Promedio_duracion,Total_otro_estado,Promedio_agentes,Nivel_servicio,Fecha)  
    VALUES ('$Dia','$Total_llamadas','$Promedio_respuesta','$Total_abandonadas','$Promedio_abandono','$Promedio_duracion', '$Total_otro_estado','$Promedio_agentes','$Nivel_servicio','$Fecha1')"
) )
die(
"Error: ".mysql_error());  
    }
    if (
$Hora_n=='11 am' && $index==34){echo "Las 11 AM";
    
    echo 
"<tr>";  
    echo 
"<td>".$Dia."</td>";  
    echo 
"<td>".$Total_llamadas."</td>";  
    echo 
"<td>".$Promedio_respuesta."</td>";  
    echo 
"<td>".$Total_abandonadas."</td>";  
    echo 
"<td>".$Promedio_abandono."</td>";  
    echo 
"<td>".$Promedio_duracion."</td>";  
    echo 
"<td>".$Total_otro_estado."</td>";  
    echo 
"<td>".$Promedio_agentes."</td>";  
    echo 
"<td>".$Nivel_servicio."</td>";
    echo 
"<td>".$Fecha1."</td>";    
    echo 
"</tr>";
    if (!
mysql_query("INSERT INTO hora_bancolombia (Hora,Total_llamadas,Promedio_respuesta,Total_abandonadas,Promedio_abandono,Promedio_duracion,Total_otro_estado,Promedio_agentes,Nivel_servicio,Fecha)  
    VALUES ('$Dia','$Total_llamadas','$Promedio_respuesta','$Total_abandonadas','$Promedio_abandono','$Promedio_duracion', '$Total_otro_estado','$Promedio_agentes','$Nivel_servicio','$Fecha1')"
) )
die(
"Error: ".mysql_error());  
    }
    }
    
$i++;  
   }  

    echo 
"</table>";          

    if (!
feof($gestor)) {  
        echo 
"Error: fallo inesperado de fgets()\n";  

    }  
    
fclose($gestor); 

mysql_close($link);  


?>
Lo que yo hago es comparar la hora con la del computador y depende de la hora que me ingrese la fila de esa hora por ejemplo ahorita son las 11:00 entonces ingresaría al if de las 11 AM y me tiene que guardar esta fila en la bd
10:00-11:00 3 0:07 0 0:00 1:53 0:00 0 0 37:46 3.0 100

entonces esa linea se guarda 2 veces en mi tabla como hago para que solo guarde un registro espero me puedan ayudar
Gracias
  #2 (permalink)  
Antiguo 02/10/2012, 10:44
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Respuesta: comparar registros mysql

Pues no debería insertar el registro dos veces, a menos de que ambas condiciones se esten cumpliendo. ¿Ya verificaste el valor de tus variables en las condiciones(if)?
  #3 (permalink)  
Antiguo 02/10/2012, 10:56
 
Fecha de Ingreso: marzo-2012
Ubicación: Bogota
Mensajes: 177
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: comparar registros mysql

Cita:
Iniciado por mauled Ver Mensaje
Pues no debería insertar el registro dos veces, a menos de que ambas condiciones se esten cumpliendo. ¿Ya verificaste el valor de tus variables en las condiciones(if)?
Sii verifique los dos datos el $Hora_n y $index y estan bien la condicion con esas dos variables se cumple bien
  #4 (permalink)  
Antiguo 02/10/2012, 11:10
 
Fecha de Ingreso: marzo-2012
Ubicación: Bogota
Mensajes: 177
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: comparar registros mysql

mira cambi el if del insert y lo deje asi pero ahora no me inserta nada en la base de datos :( me ayudas porfa

Código PHP:
if ($Hora_n=='12 pm' && $index==35){echo "Las 12 PM";
    
    echo 
"<tr>";  
    echo 
"<td>".$Dia."</td>";  
    echo 
"<td>".$Total_llamadas."</td>";  
    echo 
"<td>".$Promedio_respuesta."</td>";  
    echo 
"<td>".$Total_abandonadas."</td>";  
    echo 
"<td>".$Promedio_abandono."</td>";  
    echo 
"<td>".$Promedio_duracion."</td>";  
    echo 
"<td>".$Total_otro_estado."</td>";  
    echo 
"<td>".$Promedio_agentes."</td>";  
    echo 
"<td>".$Nivel_servicio."</td>";
    echo 
"<td>".$Fecha1."</td>";    
    echo 
"</tr>";
    
$sql12=("INSERT INTO hora_bancolombia (Hora,Total_llamadas,Promedio_respuesta,Total_abandonadas,Promedio_abandono,Promedio_duracion,Total_otro_estado,Promedio_agentes,Nivel_servicio,Fecha)  
    VALUES ('$Dia','$Total_llamadas','$Promedio_respuesta','$Total_abandonadas','$Promedio_abandono','$Promedio_duracion', '$Total_otro_estado','$Promedio_agentes','$Nivel_servicio','$Fecha1')"
) or
die(
"Error: ".mysql_error());  
    } 

Etiquetas: mysql, registro, registros, tabla
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 10:16.