Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehrere geliche Einträge innerhalb von 12 Stunden mit anzahl ausgeben lassen?

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

  • #46
    Dann lass dir mal die Variablen ausgeben:
    PHP-Code:
    if ($erg $conn_dashboard->query($sql)) {
        while (
    $datastring $erg->fetch_object()) {
            
    var_dump($datastring);
            
    var_dump($users[$datastring->userID]);
            
    $datastring->access $users[$datastring->userID]['access']; /*78*/
            
    $datastring->last_login $users[$datastring->userID]['last_login'];
            
    $datastring->quote $users[$datastring->userID]['quote'];
            
    $datastring->mailto $users[$datastring->userID]['mailto'];
            
    $datastring->nractivity $users[$datastring->userID]['nractivity'];

            
    $data[] = $datastring;
        }

    Kommentar


    • #47
      Also ich erhalte die werte der 2. Abfrage ("var_dump($datastring);").
      Bei der ersten ("var_dump($users[$datastring->userID]);") gibt nichts aus.

      Kommentar


      • #48
        Hast Du denn das Array $users überhaupt vorbereitet? Anscheinend nicht.

        Kommentar


        • #49
          In wie fern soll ich den Array denn vorbereiten? Ich habe den vor den Abfragen definiert: "$users = [];" und mache dann die SQL Abfrage.

          Kommentar


          • #50
            Oh, hatte ich übersehen, ich meinte dies in Nachricht #45:
            PHP-Code:
            $sql "SELECT userID, username, email, userOnlineGroupID, registrationDate, lastActivityTime FROM wcf1_user GROUP BY userID";
            if (
            $erg $conn_forum->query($sql)) {
                while (
            $datastring $erg->fetch_object()) {
                    if(
            $datastring->userOnlineGroupID == || $datastring->userOnlineGroupID == 2){
                        
            $users[$datastring->userID] = $datastring;
                    }
                }

            Wie ich sehe, filterst Du dort die Einträge. Möglicher Weise bekommst Du deshalb den Fehler, den Du beschreibst?

            Kommentar


            • #51
              Hab ich auch schon auskommentiert, gibt leider immernoch NULL zurück.

              Kommentar


              • #52
                Dann checke doch mal, ob der Code aus #50 überhaupt funktioniert, d. h. das ganze Array $users mit var_dump ausgeben.

                Kommentar


                • #53
                  Also ich habe jetzt zuerst geprüft ob ich mit "var_dump($datastring);" ein ergebnis erhalte. eschein also zu klappen. Ergebnis:
                  Code:
                  object(stdClass)#8 (6) { ["userID"]=> string(1) "3" ["username"]=> string(9) "Nightland" ["email"]=> string(17) "[email protected]" ["userOnlineGroupID"]=> string(1) "1" ["registrationDate"]=> string(10) "1620311316" ["lastActivityTime"]=> string(10) "1620410703" }
                  Dann habe ich das ganze nochmal mit dem Users Array versucht. Ergebnis:
                  Code:
                  object(stdClass)#8 (6) { ["userID"]=> string(1) "3" ["username"]=> string(9) "Nightland" ["email"]=> string(17) "[email protected]" ["userOnlineGroupID"]=> string(1) "1" ["registrationDate"]=> string(10) "1620311316" ["lastActivityTime"]=> string(10) "1620410703" }
                  Also an sich hat er die Daten im Array.

                  Kommentar


                  • #54
                    Ich tue mich immer ein wenig schwer damit, diese Ausgaben von var_dump zu lesen, JSON kommt mir mehr entgegen. Aber bei der zweiten Ausgabe des Arrays users sehe ich, genau wie bei der ersten, nur ein einziges Objekt und kein Array. Und das scheint genau gleich dem bei der ersten Ausgabe zu sein. Wo hast Du das var_dump denn platziert, innerhalb der Schleife oder danach?
                    Zuletzt geändert von Sempervivum; 10.05.2021, 06:26.

                    Kommentar


                    • #55
                      Mir fällt gerade auf, dass ich die falsche ausgabe beim users array gepostet hatte, die richtige wäre diese hier, dern "var_dump" führe ich nach der gesamten abfrage durch. Den richtigen Dump habe ich einmal angehanden.

                      Code:
                      array(1) { [3]=> object(stdClass)#6 (6) { ["userID"]=> string(1) "3" ["username"]=> string(9) "Nightland" ["email"]=> string(17) "[email protected]" ["userOnlineGroupID"]=> string(1) "1" ["registrationDate"]=> string(10) "1620311316" ["lastActivityTime"]=> string(10) "1620410703" }
                      Ich habe es für dich auch nochmal in JSON ausgeben lassen:

                      Code:
                      {
                          "1": {
                              "userID": "-",
                              "username": "-",
                              "email": "-",
                              "userOnlineGroupID": "-",
                              "registrationDate": "-",
                              "lastActivityTime": "-"
                          },
                          "2": {
                              "userID": "-",
                              "username": "-",
                              "email": "-",
                              "userOnlineGroupID": "-",
                              "registrationDate": "-",
                              "lastActivityTime": "-"
                          },
                          "3": {
                              "userID": "3",
                              "username": "Nightland",
                              "email": "[email protected]",
                              "userOnlineGroupID": "1",
                              "registrationDate": "1620311316",
                              "lastActivityTime": "1620410703"
                          }
                      }
                      Zuletzt geändert von Nightland Driver; 10.05.2021, 14:21.

                      Kommentar


                      • #56
                        Ich habe es für dich auch nochmal in JSON ausgeben lassen:
                        Das ist sehr gut, danke, so kann ich es problemlos lesen.
                        Ich denke, ich werde meine Testumgebung mal aktualisieren und es selber versuchen. Passen die SQL-Dumps noch, die Du früher geschickt hattest?

                        Kommentar


                        • #57
                          Ich sende dir nochmal die Aktuellen:

                          wcf1_user: https://pastebin.com/acznX1eB
                          users: https://pastebin.com/JZVU7Ya8
                          last_activity: https://pastebin.com/3Du1cX9U

                          Kommentar


                          • #58
                            OK, dann spiele ich die noch Mal ein.

                            Kommentar


                            • #59
                              Ich habe es jetzt zum Laufen gebracht. Es sind zwar nur ganz wenige Datensätze in deinen Testtabellen aber das Ergebnis scheint plausibel zu sein.

                              PHP-Code:
                              <?php
                              ini_set
                              ('display_errors''1');
                              error_reporting(E_ALL);
                              include 
                              'connect.php';
                              include 
                              'connect-wcf1.php';
                              $sql "SELECT userID, username, email, userOnlineGroupID, registrationDate, lastActivityTime FROM wcf1_user GROUP BY userID";
                              if (
                              $erg $conn_forum->query($sql)) {
                                  while (
                              $datastring $erg->fetch_object()) {
                                      
                              // if ($datastring->userOnlineGroupID == 1 || $datastring->userOnlineGroupID == 2) {
                                      
                              $users[$datastring->userID] = $datastring;
                                      
                              // }
                                  
                              }
                              }
                              var_dump($users);
                              $sql "SELECT users.user_id, users.access, users.last_login, users.quote, users.mailto, SUM(CASE
                                WHEN last_activity.action IS NULL THEN 0
                                ELSE 1
                              END) AS nractivity
                              FROM users
                              LEFT JOIN last_activity ON last_activity.user_id = users.user_id
                              GROUP BY users.user_id"
                              ;
                              $data = [];
                              if (
                              $erg $conn_dashboard->query($sql)) {
                                  while (
                              $datastring $erg->fetch_object()) {
                                      
                              var_dump($datastring);
                                      
                              $datastring->{'userOnlineGroupID'} = $users[$datastring->user_id]->userOnlineGroupID;
                                      
                              $datastring->{'registrationDate'} = $users[$datastring->user_id]->registrationDate;
                                      
                              $datastring->{'lastActivityTime'} = $users[$datastring->user_id]->lastActivityTime;
                                      
                              $data[] = $datastring;
                                  }
                              }
                              var_dump($data);

                              Kommentar


                              • #60
                                Sehr gut, jetzt scheint es einwandfrei zu funktionieren.
                                Vielen Vielen Dank.

                                Kommentar

                                homepage-forum.de - Hilfe für Webmaster! Statistiken

                                Einklappen

                                Themen: 56.877   Beiträge: 430.739   Mitglieder: 28.626   Aktive Mitglieder: 43
                                Willkommen an unser neuestes Mitglied, Andreasrfk.

                                Online-Benutzer

                                Einklappen

                                182 Benutzer sind jetzt online. Registrierte Benutzer: 4, Gäste: 178.

                                Mit 3.502 Benutzern waren am 23.01.2020 um 17:20 die meisten Benutzer gleichzeitig online.

                                Die neuesten Themen

                                Einklappen

                                Die neuesten Beiträge

                                Einklappen

                                Lädt...
                                X