17/08/2012, 16:14
|
| | Fecha de Ingreso: agosto-2012 Ubicación: En algún lugar de México
Mensajes: 41
Antigüedad: 12 años, 3 meses Puntos: 16 | |
Respuesta: Registro duplicado cuando se hace el insert Cita:
Iniciado por wendyl Hola no no me sirve :( me sigue apareciendo = los dos registros iguales en la base de datos tedejo todo mi codigo aver si me puedes ayudar Código PHP: $gestor = @fopen("REPORTES/report_list_bcms_skill_15_time_00-00_.txt", "r");//tarificacion04202012.txt
if ($gestor) {
[COLOR="Magenta"]$i= [/COLOR] //No tiene valor?
$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($gestor, 999)) !== 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_nuevo, 0,11);
$Total_llamadas=substr($texto_nuevo, 14,3);
$Promedio_respuesta=substr($texto_nuevo, 18,5);
$Total_abandonadas=substr($texto_nuevo, 27,3);
$Promedio_abandono=substr($texto_nuevo, 30,5);
$Promedio_duracion=substr($texto_nuevo, 36,5);
$Total_otro_estado=substr($texto_nuevo, 60,8);
$Promedio_agentes=substr($texto_nuevo, 69,4);
$Nivel_servicio =substr($texto_nuevo, 74,3);
$Fecha= substr($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);
$Fecha1= date("d-m" ,time());
$Hora1= date("h" ,time());
//echo $Hora1;
if ($Hora1==04 && $index==39){echo 1;
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_voz (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);
Aqui estoy viendo que lo tienes dentro de un ciclo, probablemente dentro de este se cumple dos veces la condición y por ello se realiza de igual forma 2 veces la inserción.
Si lo que deseas es leer un archivo y trabajar sobre esos valores, puedes hacerlo como en el ejemplo: Código PHP: $bufer="";
$gestor = @fopen("REPORTES/report_list_bcms_skill_15_time_00-00_.txt", "r");//tarificacion04202012.txt
if ($gestor) {
while (!feof($gestor)) {
$bufer.= fgets($gestor, 4096);
}
fclose ($gestor);
}
Ahora solo trabajas con la variable $bufer que contiene todo el contenido del archivo |