takže podmienka tam vraj je:
$query = "SELECT datum FROM history WHERE id_doch='$id_doch' AND datum>='".$datum."000000' AND datum<='".$datum."235959' AND pr='0' AND typ='1' AND fy='$fy' ORDER by datum ASC LIMIT 1";
$query = "SELECT * FROM history WHERE id_doch='$id_doch' AND id<>'$odchod_lu' AND datum<='".$datum_odch."' AND datum>='".$datum."000000' AND typ='0' AND fy='$fy' ORDER by datum DESC LIMIT 1";
spomaluje sa to vraj preto, lebo ked je v databaze vela zaznamov tak aj kym vyhlada pozadovany datum konkretneho zamestnanca tak to trva dlhsie.
Vstup do tabulky ide cez funkčné klávesy každá klávesy je určitý príchod alebo odchod...
Kód: Vybrať všetko
<?
function import($line, $fy) {
$pole = explode(",", $line);
if (($pole[5] != "None")) {
$datum = $pole[1][0].$pole[1][1].$pole[1][2].$pole[1][3].$pole[1][5].$pole[1][6].$pole[1][8].$pole[1][9].$pole[2][0].$pole[2][1].$pole[2][3].$pole[2][4].$pole[2][6].$pole[2][7];
$id_doch = $pole[5];
$pr="";
$typ="";
switch($pole[10]) {
case "F1-0": $pr=0; $typ=1; break; // Práca PRÍCHOD
case "F1-1": $pr=1; $typ=1; break; // Služobne PRÍCHOD
case "F1-2": $pr=2; $typ=1; break; // Služobná cesta PRÍCHOD
case "F1-3": $pr=3; $typ=1; break; // Súkromne PRÍCHOD
case "F1-4": $pr=4; $typ=1; break; // Lekár PRÍCHOD
case "F1-5": $pr=5; $typ=1; break; // Platené voľno PRÍCHOD
case "F1-6": $pr=6; $typ=1; break; // Študijné voľno PRÍCHOD
case "F1-7": $pr=7; $typ=1; break; // Verejný záujem PRÍCHOD
case "F1-8": $pr=8; $typ=1; break; // Náhradné voľno PRÍCHOD
case "F1-9": $pr=9; $typ=1; break; // Dovolenka PRÍCHOD
case "F2-0": $pr=10; $typ=1; break; // Mimopracovná činnosť PRÍCHOD
case "F2-1": $pr=11; $typ=1; break; // Nadpracovanie PRÍCHOD
case "F2-2": $pr=12; $typ=1; break; // Otváranie zámku PRÍCHOD
case "F2-3": $pr=13; $typ=1; break; // Príchod/Odchod PRÍCHOD
case "F2-4": $pr=14; $typ=1; break; // Nasnímaná nová karta PRÍCHOD
case "F2-5": $pr=15; $typ=1; break; // Práceneschopnosť PRÍCHOD
case "F3-0": $pr=0; $typ=0; break; // Práca ODCHOD
case "F3-1": $pr=1; $typ=0; break; // Služobne ODCHOD
case "F3-2": $pr=2; $typ=0; break; // Služobná cesta ODCHOD
case "F3-3": $pr=3; $typ=0; break; // Súkromne ODCHOD
case "F3-4": $pr=4; $typ=0; break; // Lekár ODCHOD
case "F3-5": $pr=5; $typ=0; break; // Platené voľno ODCHOD
case "F3-6": $pr=6; $typ=0; break; // Študijné voľno ODCHOD
case "F3-7": $pr=7; $typ=0; break; // Verejný záujem ODCHOD
case "F3-8": $pr=8; $typ=0; break; // Náhradné voľno ODCHOD
case "F3-9": $pr=9; $typ=0; break; // Dovolenka ODCHOD
case "F4-0": $pr=10; $typ=0; break; // Mimopracovná činnosť ODCHOD
case "F4-1": $pr=11; $typ=0; break; // Nadpracovanie ODCHOD
case "F4-2": $pr=12; $typ=0; break; // Otváranie zámku ODCHOD
case "F4-3": $pr=13; $typ=0; break; // Príchod/Odchod ODCHOD
case "F4-4": $pr=14; $typ=0; break; // Nasnímaná nová karta ODCHOD
case "F4-5": $pr=15; $typ=0; break; // Práceneschopnosť ODCHOD
case "None": $pr=12; $typ=2; break; // Otváranie zámku PRECHOD
}
// echo "Datum: $datum, Cas: $cas, ID: $id_doch, $pr - $typ. Firma: $fy<br>";
$query = "SELECT id FROM history WHERE fy='$fy' AND id_doch='$id_doch' AND pr='$pr' AND typ='$typ' AND datum='$datum' LIMIT 1";
$result = mysql_query ($query);
$row = mysql_fetch_object ($result);
if ($row > 0) {
$duplikatov++;
} else {
$query = "INSERT INTO history SET fy='$fy', id_doch='$id_doch', pr='$pr', typ='$typ', datum='$datum'";
if (($datum != "") && ($id_doch!=""))mysql_query ($query);
$zaznamov++;
}
}
}
?>
Je ta podmienka spravená dobre, je to pravda že aj to trvá dlhšie, alebo máte nejaký nápad ako to zeefektívniť?
Dík