Gesamtalter aller User

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

  • Gesamtalter aller User

    Hallo,

    ich lasse mir durch folgendes Script den Geburtstag und das
    Alter der User angeben:

    PHP-Code:
    <?php
      
    include ('config.php');
      
    $abfrage "SELECT nickname, date_format(geburtstag, '%d.%m.%Y') AS datum,
                  TIMESTAMPDIFF(YEAR, geburtstag, CURDATE()) as diff FROM mitglieder 
                  ORDER BY MONTH(geburtstag), DAYOFMONTH(geburtstag), diff"
    ;
      
    $ergebnis mysql_query($abfrage);
      echo 
    "<table id='anmeldetabelle'><tr>";
      echo 
    "<th class='links'>Nickname</th>";
      echo 
    "<th class='rechts'>Geburtsdatum</th>";
      echo 
    "<th class='rechts'>Alter</th>";
      while(
    $row mysql_fetch_object($ergebnis))
      {
      echo 
    "<tr><td class='links'>";
      echo 
    $row ->nickname;
      echo 
    "</td><td class='rechts'>";
      echo 
    $row ->datum;
      echo 
    "</td><td class='rechts'>";
      echo 
    $row ->diff;
      }
      echo 
    "</td></tr></table>";
      
    ?>
    Jetzt möchte ich das mir das Gesamtalter alle User
    und das Durchschnittsalter abgezeigt wird.

    Was muss in das Script eingefügt werden, damit die
    Ausgaben erfolgen?


    Grüße von Sven

  • #2
    Re: Gesamtalter aller User

    SUM/AVG?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hallo,

      und wie muss man das in dem Script einbinden?

      Wenn ich es so mache bekomme ich eine Fehlermeldung:

      PHP-Code:
        <?php
        
      include ('config.php');
        
      $abfrage "SELECT nickname, date_format(geburtstag, '%d.%m.%Y') AS datum,
                    TIMESTAMPDIFF(YEAR, geburtstag, CURDATE()) as diff 
                    FROM mitglieder ORDER BY MONTH(geburtstag), DAYOFMONTH(geburtstag), diff"
      ;
        
      $ergebnis mysql_query($abfrage);
        
      $summe mysql_query("SELECT SUM(diff) as gesamt FROM mitglieder");
        echo 
      "<table id='anmeldetabelle'><tr>";
        echo 
      "<th class='links'>Nickname</th>";
        echo 
      "<th class='rechts'>Geburtsdatum</th>";
        echo 
      "<th class='rechts'>Alter</th>";
        while(
      $row mysql_fetch_object($ergebnis))
        {
        echo 
      "<tr><td class='links'>";
        echo 
      $row ->nickname;
        echo 
      "</td><td class='rechts'>";
        echo 
      $row ->datum;
        echo 
      "</td><td class='rechts'>";
        echo 
      $row ->diff;
        }
        echo 
      "</td></tr></table>";
        while (
      $row mysql_fetch_object($summe)) {  //Zeile 40
        
      echo $row ->gesamt;
        }
        
      ?>
      Fehlermeldung:
      Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in J:\xampp\mitglieder\geburtstage.php on line 40
      Was muss denn geändert werden, damit es funkioniert?


      Grüße von Sven

      Kommentar


      • #4
        die zweite query solltest du erst nach der ersten while schleife abschicken, dann steht dir auch ein resultset zur verfügung.

        Kommentar


        • #5
          Hallo,

          ich habe es jetzt so:

          PHP-Code:
            <?php
            
          include ('config.php');
            
          $abfrage "SELECT nickname, date_format(geburtstag, '%d.%m.%Y') AS datum,
                        TIMESTAMPDIFF(YEAR, geburtstag, CURDATE()) as diff 
                        FROM mitglieder ORDER BY MONTH(geburtstag), DAYOFMONTH(geburtstag), diff"
          ;
            
          $ergebnis mysql_query($abfrage);
            echo 
          "<table id='anmeldetabelle'><tr>";
            echo 
          "<th class='links'>Nickname</th>";
            echo 
          "<th class='rechts'>Geburtsdatum</th>";
            echo 
          "<th class='rechts'>Alter</th>";
            while(
          $row mysql_fetch_object($ergebnis))
            {
            echo 
          "<tr><td class='links'>";
            echo 
          $row ->nickname;
            echo 
          "</td><td class='rechts'>";
            echo 
          $row ->datum;
            echo 
          "</td><td class='rechts'>";
            echo 
          $row ->diff;
            }
            echo 
          "</td></tr></table>";
            
          $summe "SELECT SUM(diff) as gesamt FROM mitglieder";
            while (
          $row mysql_fetch_object($summe)) 
            {
            echo 
          $row ->gesamt;
            }
            
          ?>
          Aber die Fehlermeldung ist immer noch da und es erfolgt
          auch keine Ausgabe.

          Wo liegt denn der Fehler?


          Grüße von Sven

          Kommentar


          • #6
            SELECT SUM(diff) as gesamt FROM mitglieder

            du merkst schon, dass du diff im 1. query definierst und dieses somit nicht ans 2. übergeben wird?...

            SELECT SUM(TIMESTAMPDIFF(YEAR, geburtstag, CURDATE())) wennschon...
            Freedom is a state of mind. Not a state in which we live.

            troxdev.ch | animefieber

            Kommentar


            • #7
              Original geschrieben von Sven4972
              Wo liegt denn der Fehler?[/B]
              darin, dass du nicht "aus dem bauch programmieren" kannst. du kannst es nicht erraten, wenn du beliebig zeilen vertauschst ohne zu verstehen, was da passiert.

              diesmal hast du die zweite query erst gar nicht abgeschickt.

              die idee ist immer die gleiche:
              Code:
              resource := mysql_query(statement)
              datensatz := mysql_fetch_datentyp(resource)
              und in "datensatz" ist dann die information aus der db.

              und lies, verdammt nochmal, den sticky thread zum thema "vor dem posten"!

              Kommentar


              • #8
                Hallo,

                dankeschön für Eure Hinweise, ich habe es jetzt
                hinbekommen.

                Original geschrieben von penizillin
                und lies, verdammt nochmal, den sticky thread zum thema "vor dem posten"!
                Was sollte ich denn anders beim Posten machen?
                Ich habe geschrieben was das Script machen soll und
                welche Fehlermeldung erscheint.
                Nur den entsprechenden Code als PHP-Code gepostet,
                denn die Seite hat 188 Zeilen gesamt.
                Horizontale Scrollbalken gibt es auch keine.


                Grüße von Sven

                Kommentar


                • #9
                  Original geschrieben von Sven4972
                  Was sollte ich denn anders beim Posten machen?
                  Nicht erst beim Posten, sondern schon bei der eigenen Fehlersuche - was du bspw. bei "supplied argument is not a valid MySQL result resource" machen sollst, steht da explizit drin.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X