Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Assoziatives Array mittels foreach ausgeben

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Assoziatives Array mittels foreach ausgeben

    Hallo zusammen,

    ich fange gerade an mich in PHP einzuarbeiten und komme an einer Stelle nicht weiter.

    Ausgangssituation ist folgende:
    Ich habe x-SQL Query´s die ich gern ein ein Array speichern würde und sie dann über "foreach" ausgeben.
    Leider klappt das so nicht ganz.

    PHP-Code:
    <!DOCTYPE html>
    <html>
        <head></head>
    <body>

    <?php 
    // DB Zugangsdaten
    $server "localhost";
    $user "root";
    $pass "";

    // Verbindung zur DB herstellen
    mysql_connect($server,$user,$pass);
    mysql_select_db("test");

    $result1 mysql_query("SELECT COUNT(uid) AS 'Gesamtanzahl registrierter Mitglieder' FROM users WHERE `status` != 0");
    $result2 mysql_query("SELECT COUNT(uid) AS 'Gesamtanzahl registrierter Mitglieder' FROM users WHERE `status` != 1");

    $stat1 = array(
        
    "Nutzer aktiv" => "$result1",
        
    "Nutzer nicht aktiv" => "$result2",
        );

    foreach (
    $stat1 as $abfrage  => $wert) {

        echo 
    "$abfrage"</br>";
        echo 
    "$wert"</br>";
    }

    ?>

    </body>
    </html>
    Als Ausgabe erhalte ich allerdings nur

    Code:
    Nutzer aktiv
    Resource id #4
    Nutzer nicht aktiv
    Resource id #5
    Hat jemand eine Idee wo der Fehler liegt bei mir?

    Vielen Dank
    Gruß

  • #2
    Dein Fehler liegt darin das du davon ausgehst das mysql_query (mysql_-Funktionen sollte man übrigens nicht mehr benutzen) dir einen Wert zurück liefert. Dem ist aber nicht so du brauchst noch eine weitere Funktion die sich die Daten erstmal holt.

    Kommentar


    • #3
      Ja, und zwar eine mysql*_fetch-Funktion.

      Kommentar


      • #4
        Danke für den Hinweis.
        Hab es jetzt so gelöst.

        PHP-Code:
        $abfrage1 mysql_query("SELECT COUNT(uid) AS 'Gesamtanzahl registrierter Mitglieder' FROM users WHERE `status` != 0");
        $zwergebnis1 mysql_fetch_array($abfrage1); 
        $ergebnis1 $zwergebnis1[0];

        $abfrage2 mysql_query("SELECT COUNT(uid) AS 'Gesamtanzahl registrierter Mitglieder' FROM users WHERE `status` != 1");
        $zwergebnis2 mysql_fetch_array($abfrage2);
        $ergebnis2 $zwergebnis2[0];

        $stat1 = array(
            
        "Nutzer aktiv" => "$ergebnis1",
            
        "Nutzer nicht aktiv" => "$ergebnis2",
            );

        foreach (
        $stat1 as $abfrage  => $wert) {
            echo 
        "$abfrage"</br>";
            echo 
        "$wert"</br>";

        Kann ich "mysql_fetch_array" auch innerhalb von foreach unterbringen ?

        Kommentar


        • #5
          Mach's mit! (PDO)

          PHP-Code:

          define
          'DB_HOST''localhost' );
          define'DB_USER''test' );
          define'DB_PASS''fest' );
          define'DB_NAME''keks' );

          $PDO = new PDO'mysql:dbname=' DB_NAME ';host=' DB_HOST ''DB_USERDB_PASS );
          $PDO->setAttributePDO::ATTR_DEFAULT_FETCH_MODEPDO::FETCH_OBJ );

          $Statement $PDO->prepare'
              SELECT
                  id,
                  name
              FROM
                  users
              WHERE
                  status != 1
              ORDER BY id
          );

          $Statement->execute();

          $Users $Statement->fetchAll();

          foreach( 
          $Users as $User ){

              echo 
          $User->name'<br />';


          [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

          Kommentar


          • #6
            1. Berücksichtige die Tipps bezüglich mysql*-Funktionen. Diese werden in (näherer) Zukunft entfernt werden und erzeugen bei aktuellen Versionen schon entsprechende Warnungen. Siehe dazu: http://php.net/manual/de/mysqlinfo.api.choosing.php


            Zitat von Cubana13 Beitrag anzeigen
            Kann ich "mysql_fetch_array" auch innerhalb von foreach unterbringen ?
            Könntest du, ist aber nicht sehr sinnvoll. In deinem Fall bräuchtest du aber sowieso nur eine Abfrage. Lass dir die Ergebnisse nach Status sortiert ausgeben und teile sie dann mit Gruppenbruch in entsprechende Kategorien ein.

            Kommentar


            • #7
              Danke, werde ich umbauen.

              Gruppenbruch ist echt ne coole Sache.
              Klappt super. Danke!

              Zitat von Tropi Beitrag anzeigen
              1. Berücksichtige die Tipps bezüglich mysql*-Funktionen. Diese werden in (näherer) Zukunft entfernt werden und erzeugen bei aktuellen Versionen schon entsprechende Warnungen. Siehe dazu: http://php.net/manual/de/mysqlinfo.api.choosing.php


              Könntest du, ist aber nicht sehr sinnvoll. In deinem Fall bräuchtest du aber sowieso nur eine Abfrage. Lass dir die Ergebnisse nach Status sortiert ausgeben und teile sie dann mit Gruppenbruch in entsprechende Kategorien ein.

              Kommentar

              Lädt...
              X