Zählen von Datensätzen in Array

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

  • Zählen von Datensätzen in Array

    Hallo,

    ich habe ein Problem mit dem zählen von Werten in einem Array.
    Das SQL statement habe ich bewusst so gewählt, da ich nur eins nutzen möchte, um verschieden Infos daraus zu ziehen (Ausgabe von verschiedenen Datensätzen funktioniert) und nicht immer ein eigenes SQL zu schreiben.

    Mein Problem ist, dass ich nun wissen möchte, wieviele Datensätze es gibt, die den status "aktiv" haben (in der Testdatenbank sind es 10 aktive und 5 inaktive).

    Die Idee hinter dem Code. Er prüft das Array ab, wie oft das word "aktiv" vorkommt. Hier kommt aber der Wert 2 raus (was ich nachvollziehen kann).

    Wie kann ich denn zählen, wie oft DAtensätze mit status "aktiv" kommen.

    PHP-Code:
    <php
    //Daten aus Tabelle et_mitglieder werden ausgelesen
    $sql = "SELECT * FROM et_mitglied ORDER BY name";
    $ergebnis = $db->query($sql);
    //           Anzahl von aktiven Mitgliedern ausgeben
                        foreach ($ergebnis as $row_a) :    
            if(in_array("aktiv", $row_a))
            {     
             $b =    count ($row_a['status']);
             $b++;    
            } endforeach;
     ?>
         <td><?=$b ?></td>
    Vielen Dank

    Grüße

    WB

  • #2
    SELECT * ist böse und sollte nicht verwendet werden. Gib im SELECT immer die Spalten an, die du im Ergebnis erwartest.

    Warum lässt du die Aufgabe eigentlich nicht gleich die Datenbank machen? Dein Argument kein SQL schreiben zu müssen ist kein Argument. Denn statt SQL musst du jetzt PHP schreiben. Was ist daran jetzt besser? Im Gegenteil, das hat nur zahlreiche Nachteile.

    Kommentar


    • #3
      Hallo h3ll,

      danke fpr deine Info.
      Das SQL schreiben ist nicht das Problem.
      Ich habe mir gedacht, es ist bei (großen) Datenbanken schneller, wenn ich nicht jedesmal ein eigenes SQL schreiben und Daten über das Netzwerk schicken muss,a sl wenn ich die Daten einmal hier habe und dann von PHP rechnen lasse.

      Kommentar


      • #4
        Zitat von Wurstbonbon Beitrag anzeigen
        Ich habe mir gedacht, es ist bei (großen) Datenbanken schneller, wenn ich nicht jedesmal ein eigenes SQL schreiben und Daten über das Netzwerk schicken muss,a sl wenn ich die Daten einmal hier habe und dann von PHP rechnen lasse.
        Genau das machst du aber mit deiner PHP-Lösung. Statt dass du dir mit SQL nur das Ergebnis holst, holst du dir mit PHP alle Daten und berechnest daraus das Ergebnis. Dadurch belastest du unnötig die Datenbank, den Webserver und das Netzwerk.

        Kommentar


        • #5
          Ja, genau.

          Du empfiehlst mehrer SQL Anweisungen auf die gleiche Tabelle (Daten) und die sich dann ausgeben lassen? Verstehe ich dich da richtig

          Dies ist für eine Übersichtsanzeige, wo aktive, passive etc in unterschiedlcihen Bereichen der Seite angezeigt werden sollen.

          Kommentar


          • #6
            Zitat von Wurstbonbon Beitrag anzeigen
            Du empfiehlst mehrer SQL Anweisungen auf die gleiche Tabelle (Daten) und die sich dann ausgeben lassen? Verstehe ich dich da richtig
            Ob es mehrere oder eine ist hängt von der Art der Daten ab.

            Kommentar

            Lädt...
            X