Ankündigung

Einklappen
Keine Ankündigung bisher.

LOAD DATA INFILE -> Anfängerproblem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #31
    Alle 5 Minuten die Daten aus der Tabelle löschen und neu schreiben nur um sie dann auszugeben.
    Da wird keinerlei Datenbankoperation gemacht, Genau das meine ich, das ist mehr als unnötig.
    Lies die Daten aus der Textdatei aus, da hast du sie ja schon. Wenn später was anders gebraucht wird, dann machst du das halt später.

    Beispiel für dich
    PHP-Code:
    <?php
    //testdaten
    $fromsystem = <<<eof
    Name Vorname 80%, D    < 11:52                    ;0167;5;        :-
    Name1 Vorname1         07:20                      ;0043;2;        :-
    Name2 Vorname2                                    ;0064;5;        :-
    Name3 Vorname3         < 11:00                    ;0066;5;        :-     
    eof;

    $lines explode("\n"$fromsystem);                       

    // testdaten löschen und ersetzen mit nachfolgendem Code
    // $lines = file('//ntserver1/bde/Mobatime/JBMv5/Data/PTG/Pip-TXT.JBM', FILE_SKIP_EMPTY_LINES);

    $table '';

    foreach (
    $lines as $line){

        
    $table .= '<tr><td>' substr($line0,22) . '</td>';
        
    $anwesend substr($line231);

        if ( !empty(
    $anwesend) ) {
            
    $table .= '<td class="arbeit"> ✓ </td></tr>';
        }else {
            
    $table .= '<td> </td></tr>';
        }        

    }

    ?>

    <!DOCTYPE HTML>
    <html lang="de">
    <head>
        <title>test Anwesendheit</title>
        <style>
            table {border: 1px solid grey; width:300px;}
            .arbeit {color:green; text-align:center;}
        </style>
    </head>
    <body>
        <table>
            <caption>Anwesenheit</caption>
            <thead>
                <tr><th>Name</th><th>Anwesend</th></tr>
            </thead>
            <tbody>
                <?= $table?>
            </tbody>
        <table>
    </body>
    </html>
    Du kannst spenden wohin du willst, hier wird dir ehrenamtlich geholfen.

    Kommentar


    • #32
      Zitat von lukall Beitrag anzeigen
      Wenn ich die Daten in der DB habe, habe ich doch die Grundlage für alles weitere gelegt.
      Oder seht ihr das nicht so?
      Nein, wenn du nur die aktuelle Anwesenheit anzeigen lassen möchtest macht das für mich keinen Sinn.
      Du erstellst fortlaufend den gesamten Tag alle X-Minuten eine neue Tabelle ist bist doch nicht aktuell.

      Zitat von protestix Beitrag anzeigen
      Da du die Anwesenheit abspeichern willst, frage ich mich warum das denn so machen willst.
      Wenn du lediglich den Status haben willst, der Arbeitnehmer die gerade anwesend sind, dann brauchst du den Zwischenschritt über die Tabelle doch gar nicht.
      Du kannst dann die Daten aus der Text-Datei nehmen und einfach in einer HTML-Tabelle ausgeben.
      So hast du immer den aktuellen Stand.

      Edit: Nicht aktualisiert..

      Kommentar


      • #33
        Ich habe noch einen Fehler im Script:

        Es betrifft diese Zeile:
        PHP-Code:
        Anwesend=IF(TRIM(SUBSTR(@raw,24,26)) != ""10); 
        Wenn ein Mitarbeiter Krank ist oder in den Ferien sieht das so aus:



        Das Script denkt dann aber die Person ist da. Kann man da eine Ausnahme für KR und FE definieren? Ich habe schon einiges probiert - bis jetzt eher mit Misserfolg ;(

        Danke für die Hilfe

        Kommentar


        • #34
          Das Script denkt dann aber die Person ist da. Kann man da eine Ausnahme für KR und FE definieren?
          IF()

          Kommentar


          • #35
            wie meinst du das?

            Edit: sowas noch zusätzlich:

            PHP-Code:
            Anwesend=IF(TRIM(SUBSTR(@raw,24,25)) != "F, K"0); 

            Kommentar


            • #36
              D.h. du hast jetzt doch die "sinnlose" (umstänliche) Lösung über die DB gemacht?

              IF() kann auch OR bzw. AND. Oder du kannst es statt ja mal mit NOT IN('', 'KR', 'FE') versuchen.
              The string "()()" is not palindrom but the String "())(" is.

              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #37
                Zitat von lukall Beitrag anzeigen
                Edit: sowas noch zusätzlich:
                Du musst dich schon an die SQL-Syntax halten.

                Tip: https://dev.mysql.com/doc/refman/5.7...mmary-ref.html

                Kommentar


                • #38
                  was soll ich sagen - mein chef will es einfach so manchmal muss man sich fügen - und jetzt klappt es ja.

                  Wo müsste ich das NOT IN oder OR / AND einfügen?

                  Kommentar


                  • #39
                    Zitat von lukall Beitrag anzeigen
                    Wo müsste ich das NOT IN oder OR / AND einfügen?
                    Schau doch mal in der verlinkten Doku nach.

                    Kommentar


                    • #40
                      PHP-Code:
                      Anwesend=IF(TRIM(SUBSTR(@raw,24,26)) != ""1AND !="FE"0); 
                      geht auch nicht.

                      die doku ist nicht ganz einfach zu verstehen... ich versuchs weiter

                      Kommentar


                      • #41
                        Zitat von lukall Beitrag anzeigen
                        die doku ist nicht ganz einfach zu verstehen...
                        Wird doch alles mit Beispielen erklärt ... du mußt halt auch mal ein SQL-Grundlagen-Tutorial durcharbeiten, du hast derzeit große Wissenslücken, was den SQL-Control-Flow angeht.

                        Kommentar


                        • #42
                          das ist mir klar.

                          aber das ist eigentlich nicht meine kernaufgabe in meinem job - und daher fehlen mir zeit und ressourcen um das jetzt für diese einzigartige aufgabe aufzuarbeiten.

                          Kommentar


                          • #43
                            Zitat von lukall Beitrag anzeigen
                            aber das ist eigentlich nicht meine kernaufgabe in meinem job - und daher fehlen mir zeit und ressourcen um das jetzt für diese einzigartige aufgabe aufzuarbeiten.
                            Sag das deinem Chef und nicht einem Forum. Ein Forum kann daran nichts ändern.

                            Kommentar

                            Lädt...
                            X