Ankündigung

Einklappen
Keine Ankündigung bisher.

Gesamtsumme aus einer CSV Datei ermitteln

Einklappen

Neue Werbung 2019

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

  • Gesamtsumme aus einer CSV Datei ermitteln

    Moin,

    ich versuche mich gerade ein wenig in PHP bin leider noch komplett neu in der Materie.

    Ausgabe.

    ich habe eine csv Datei welche ungefähr wie folgt aussieht

    Gabi;Heuer;12,50
    Dieter;Müller;14,50
    Peter;Pan;15,50

    diese Tabelle kann mit bis zu 500 Datensätzen gefüllt sein.

    Für diese CSV habe ich eine Tabelle mit array erstellt so das ich
    mehrere Felder als Tabelle dargestellt bekomme und diese nummerisch oder alphabetisch sortiert bekomme.

    Jetzt möchte ich nur den Wert in der Spalte 3 zusammengerechnet bekommen.

    Ich habe es versucht mit.

    <?php
    $a = array($sp3);
    echo "sum(a) = " . array_sum($a) . "\n";
    ?>

    doch leider zeigt mir dieser immer nur den letzen Wert ohne Nachkommastellen an.

    Ich suche also eine Möglichkeit alle Werte in der Spalte3 der CSV zu addieren und als Zahl auf dem Bildschirm darzustellen.

  • #2
    bin leider noch komplett neu in der Materie.
    Dann änder dies und komm dann wieder.

    Lerne Grundlagen | Quellensammlung
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      das hilft jetzt zwar nicht weiter aber Danke für den Tipp.

      Kommentar


      • #4
        Jetzt habe ich mich hier schon einmal im Forum angemeldet und gehofft das ich hier ein paar Denkanstöße bekommen und jetzt schickt man mich mit der Frage auf die grüne Wiese.
        Vielleicht hat ja noch einer von der Community interesse mir zu helfen. Würde mich freuen.

        ansonsten muß ich halt selbst weiter basteln

        Kommentar


        • #5
          bitte benütze code tags in der zukunft.
          dass macht deinen post leserlich.
          doch leider zeigt mir dieser immer nur den letzen Wert ohne Nachkommastellen an.
          welchen letzten wert?

          ich geh mal nicht dacon aus, dass das all dein code ist.
          und simple form des debigging ist meist sehr hilfreich.
          PHP-Code:
          print_r(); var_dump(); 
          sind auf alle fälle einen blick wert.

          Kommentar


          • #6
            der vollständige Code ist dieser:
            wobei dort noch eine daten.csv mit Semicolontrennung und 20 Spalten mit Wert bzw Text abgelegt ist. Diese Datei aktuallisiert sich alle 15 Minuten und läst sich auch im Aufbau nicht verändern.

            ich wollte eigentlich nur die Spalte 3 hier genannt $SP3 zusammenaddieren.

            PHP-Code:
             <!DOCTYPE html>
             <meta http-equiv="refresh" content="10"> <!-- Refresh every 10 Sek  -->
            <html>
             <head>
              <title>Seitentitel</title>

              <style>
              body, a {
               font-family: Verdana, Arial, Sans-Serif;
               font-size: 10px;
              } 
               th a {
                text-decoration: None; color: #FF00001;
              }
              </style>

             </head>
            <body>

            <table border="1">
             <tr style="background: #6699FF;">
              <th>
               Datum
               <a href="?spalte=1&amp;sort=asc">&uarr;</a>
               <a href="?spalte=1&amp;sort=desc">&darr;</a>
              </th>
              <th>
               Zeit
               <a href="?spalte=2&amp;sort=asc">&uarr;</a>
               <a href="?spalte=2&amp;sort=desc">&darr;</a>
              </th>
              <th>
               Seq
               <a href="?spalte=3&amp;sort=asc">&uarr;</a>
               <a href="?spalte=3&amp;sort=desc">&darr;</a>
              </th>
              <th>
              </th>
              <th>
               Art.Nr.
               <a href="?spalte=5&amp;sort=asc">&uarr;</a>
               <a href="?spalte=5&amp;sort=desc">&darr;</a>
              </th>
              <th>
               Artikel
               <a href="?spalte=6&amp;sort=asc">&uarr;</a>
               <a href="?spalte=6&amp;sort=desc">&darr;</a>
              </th>
              <th>
               Menge
               <a href="?spalte=7&amp;sort=asc">&uarr;</a>
               <a href="?spalte=7&amp;sort=desc">&darr;</a>
              </th>
              <th>
               GPreis
               <a href="?spalte=8&amp;sort=asc">&uarr;</a>
               <a href="?spalte=8&amp;sort=desc">&darr;</a>
              </th>
              <th>
               Kasse
               <a href="?spalte=9&amp;sort=asc">&uarr;</a>
               <a href="?spalte=9&amp;sort=desc">&darr;</a>
              </th>
              <th>
               Kellner
               <a href="?spalte=10&amp;sort=asc">&uarr;</a>
               <a href="?spalte=10&amp;sort=desc">&darr;</a>
              </th>
              <th>
               Tisch
               <a href="?spalte=11&amp;sort=asc">&uarr;</a>
               <a href="?spalte=11&amp;sort=desc">&darr;</a>
              </th>
              <th>
               Session
               <a href="?spalte=12&amp;sort=asc">&uarr;</a>
               <a href="?spalte=12&amp;sort=desc">&darr;</a>
              </th>
              <th>
               RG.Nr
               <a href="?spalte=13&amp;sort=asc">&uarr;</a>
               <a href="?spalte=13&amp;sort=desc">&darr;</a>
              </th>
              <th>
               Betrag
               <a href="?spalte=14&amp;sort=asc">&uarr;</a>
               <a href="?spalte=14&amp;sort=desc">&darr;</a>
              </th>
              <th>
               Typ
               <a href="?spalte=15&amp;sort=asc">&uarr;</a>
               <a href="?spalte=15&amp;sort=desc">&darr;</a>
              </th>
              <th>
               Spezial
               <a href="?spalte=16&amp;sort=asc">&uarr;</a>
               <a href="?spalte=16&amp;sort=desc">&darr;</a>
               </th>
              <th>
               Prüfsumme
              </th>
             </tr>

            <?php

            $daten 
            file("Shared/daten.csv"); // Daten einlesen

            // Auswahl der Spalte
            $spaltennummer = isset($_GET["spalte"]) ? $_GET["spalte"] : 1;

            // Daten in ein zweites Array kopieren
            $schluessel = array();
            foreach (
            $daten as $zaehler => $element) {
             list(
            $spalte[1], $spalte[2], $spalte[3], $spalte[4], $spalte[5], $spalte[6], $spalte[7], $spalte[8], $spalte[9], $spalte[10], $spalte[11], $spalte[12], $spalte[13], $spalte[14], $spalte[15], $spalte[16], $spalte[17], $spalte[18], $spalte[19], $spalte[20]) = explode(";"$element);
             
            $schluessel[$zaehler] = array($spalte[$spaltennummer], $zaehler);
            }

            // Schlüssel sortieren
            isset($_GET["sort"]) ? (($_GET["sort"] == "desc") ?
             
            rsort($schluessel) : sort($schluessel)) : sort($schluessel);

             
            // Die Daten mit dem sortierten Schlüssel ausgeben
             
            foreach ($schluessel as $element) {
              list(
            $sp1$sp2$sp3$sp3$sp5$sp6$sp7$sp8$sp9$sp10$sp11$sp12$sp13$sp14$sp15$sp16$sp17$sp18$sp19$sp20) = explode(";"$daten[$element[1]]);
              echo 
            "<tr><td>" $sp1 "</td><td>" $sp2 "</td><td>"$sp3 "</td><td>"$sp4 "</td><td>"$sp5 "</td><td>"$sp6 "</td><td>"$sp7 "</td><td>"$sp8 "</td><td>"$sp9 "</td><td>"$sp10 "</td><td>"$sp11 "</td><td>"$sp12 "</td><td>"$sp13 "</td><td>"$sp14 "</td><td>"$sp15 "</td><td>"$sp16 "</td><td>"$sp17 "</td><td>"$sp18 "</td><td>"$sp19 ."</td><td>" .
               
            $sp20 "</td></tr>";
            }
            ?>
            <?php
            $a 
            = array($sp3);
            echo 
            "sum(a) = " array_sum($a) . "\n";
            ?>

            </table>

            </body>
            </html>

            Kommentar


            • #7
              PHP-Code:
              <?php
              $array 
              = array(); // ein leeres Array erzeugen

              for ($i=0$i<=7$i++) {
                  
              $array[] = $i;
              }
              // einfacher: $array = range(-10, 10);

              echo "1. = &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " .$array[0]. "<br>"
              echo 
              "2. = &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " .$array[1]. "<br>"
              echo 
              "3. = &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " .$array[2]. "<br>"
              echo 
              "4. = &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " .$array[3]. "<br>"
              echo 
              "5. = &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " .$array[4]. "<br>"
              echo 
              "6. = &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " .$array[5]. "<br>"
              echo 
              "7. = &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" .$array[6]. "<br>"
              echo 
              "8. = &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" .$array[7]. "<br>"
              Echo 
              "------------ <br>" ;
              Echo 
              "Summe ist gleich: <br>" ;
              Echo 
              "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;======== <br>";


              Echo 
              "Die Summe aller Zahlen sollte sein 28 nur wie errechne ich diese mit skript? Leider finde ich keine Lösung" ;



              ?>
              Alternativ könntet ihr mir auch ein anderes Forum nennen wo man eine so doofe Frage posten darf.

              Kommentar


              • #8
                Tja, array_sum tut genau das. Nur dass Dein letzter Code kaum mehr was mit der Ausgangsfrage zu tun hat. Programmieren heißt halt nicht, für jede ANwendung ne fertige Funktion aufzurufen. Oder sich Code in einem Forum schreiben zu lassen.

                Alternativ könntet ihr mir auch ein anderes Forum nennen wo man eine so doofe Frage posten darf.
                Das suchst Du Dir bitte selbst.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  Zitat von moma Beitrag anzeigen
                  b
                  und simple form des debigging ist meist sehr hilfreich.
                  PHP-Code:
                  print_r(); var_dump(); 
                  sind auf alle fälle einen blick wert.
                  aber nein, wieso denn auch debiggen, wie denn auch tips annehmen.

                  die im anderen forum werden sich freuen.

                  Kommentar

                  Lädt...
                  X