Ankündigung

Einklappen
Keine Ankündigung bisher.

Bräuchte mal Hilfe bei sql und tabelle

Einklappen

Neue Werbung 2019

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

  • Bräuchte mal Hilfe bei sql und tabelle

    Hallo ihr hilfsbereiten User,
    ich habe folgendes Problem und komme einfach nicht weiter

    in meiner Datenbank sind folgende einträge

    id datum name mannschaft hiscore
    1 01.01.1901 Michael Schrumpf DC Pool Checkpoint 2
    2 01.01.1901 Dieter Heideck DC Pool Checkpoint 1
    3 21.01.1901 Michael Schrumpf DC Pool Checkpoint 1
    4 11.01.1901 Dieter Heideck DC Pool Checkpoint 1

    jetzt möchte ich das in einer Tabelle ausgeben die so aussehen soll

    Spieler Mannschaft Hiscore Datum
    Michael Schrumpf DC Pool Checkpoint 3 01.01.1901
    21.01.1901

    Dieter Heideck DC Pool Checkpoint 2 01.01.1901
    11.01.1901

    also beide Datums angezeigt werden wenn das geht......

    so hier mein code so weit wie ich bin

    PHP-Code:
    $sql "SELECT
              name,
              mannschaft,
              sum(hiscore) AS sum_hs,
              hiscore,
              datum
          FROM
              1_hisc
          Group BY name
          ORDER BY
              datum ASC, hiscore DESC"
    ;
      
    $result mysql_query($sql) or die("Fehler: ".mysql_error());

    echo 
    "<br><h2><center>Hiscore<br></h2></center>";
      echo(
    "<center><table border=\"1\">\n");
      echo 
    "<tr><th>Spieler</th><th>Mannschaft</th><th>Hiscore</th><th>Datum</th></tr>";
     
      if(
    mysql_num_rows($result)) {
          while (
    $row mysql_fetch_array($result)) {
              echo 
    "<tr><td>".$row['name']."</td><td>".$row['mannschaft']."</td><td>".$row['sum_hs']."</td><td>".$row['datum']."</td></tr>";
          }
      } else {
        echo 
    "Noch keine Highscores vorhanden!";
      }
     
      echo 
    "</table>"
    wäre toll wenn mir jemand helfen könnte, Danke schon mal im vorraus!!!


  • #2
    Zitat von Harmomix Beitrag anzeigen
    Hallo ihr hilfsbereiten User,
    ich habe folgendes Problem und komme einfach nicht weiter

    in meiner Datenbank sind folgende einträge

    id datum name mannschaft hiscore
    1 01.01.1901 Michael Schrumpf DC Pool Checkpoint 2
    2 01.01.1901 Dieter Heideck DC Pool Checkpoint 1
    3 21.01.1901 Michael Schrumpf DC Pool Checkpoint 1
    4 11.01.1901 Dieter Heideck DC Pool Checkpoint 1

    jetzt möchte ich das in einer Tabelle ausgeben die so aussehen soll

    Spieler Mannschaft Hiscore Datum
    Michael Schrumpf DC Pool Checkpoint 3 01.01.1901
    21.01.1901

    Dieter Heideck DC Pool Checkpoint 2 01.01.1901
    11.01.1901

    also beide Datums angezeigt werden wenn das geht......
    Code:
    select spieler, mannschaft, sum(hiscore), array_agg(datum) from l_hisc group by spieler, mannschaft;
    *untested*
    PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

    Kommentar


    • #3
      Zitat von akretschmer Beitrag anzeigen
      Code:
      select spieler, mannschaft, sum(hiscore), array_agg(datum) from l_hisc group by spieler, mannschaft;
      *untested*
      Fehler: FUNCTION mhdl.array_agg does not exist

      bekomme ich

      Kommentar


      • #4
        1) toller Thread-Titel
        2) mysql_ .... bitte lerne um auf mysqli oder pdo
        3) akretschmer's Lösung braucht postgresql
        4) deine Tabelle ist nicht gut aufgebaut (normalisiert)
        "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

        Kommentar


        • #5
          Zitat von akretschmer Beitrag anzeigen
          Code:
          select spieler, mannschaft, sum(hiscore), array_agg(datum) from l_hisc group by spieler, mannschaft;
          *untested*
          Zitat von eagle275 Beitrag anzeigen
          wo soll das 2te Datum herkommen ? in der Tabelle stehen ja nur diese Daten von 1901 drin .. hast du noch ne 2te Tabelle irgendwo "versteckt"?
          nein keine andere tabelle

          es sind mehre einträge mit gleichen namen und verschiedenen datum
          zb


          01.01.1901 Michael Schrumpf DC Pool Checkpoint 2
          21.01.1901 Michael Schrumpf DC Pool Checkpoint 1

          bei dem beispiel sollte in der tabelle dann folgendes stehe

          01.01.1901 Michael Schrumpf DC Pool Checkpoint 3
          21.01.1901

          Dann der nächste

          Der spieler hat also am 01.01.1901 2 180er geworfen und am 21.01.1901 eine
          sotiert werden sollte nach anzahl gesamte 180er aber eben beide Datums angezeigt werden wenn sowas geht sonnst muss ich mir was überlegen zb ohne datums angabe ....

          Kommentar


          • #6
            Zitat von eagle275 Beitrag anzeigen
            1) toller Thread-Titel
            2) mysql_ .... bitte lerne um auf mysqli oder pdo
            3) akretschmer's Lösung braucht postgresql
            4) deine Tabelle ist nicht gut aufgebaut (normalisiert)
            Sorry das ich gerade erst anfange und einige Sachen einfach nicht verstehe wenn ich sie Lese ...

            könntest mir ja mal nen online Kurs geben in Deutsch weil Englisch hatte ich das letztemal vor 33 Jahren in der Schule.....

            Ich hatte mir eigendlich nur eine Antwort erhofft ob sowas überhaupt möglich ist was ich da möchte und erhofft einen Link zu bekommen wo ich wenn es geht dieses dann nachlesen kann.

            Kommentar


            • #7
              könntest mir ja mal nen online Kurs geben in Deutsch weil Englisch hatte ich das letztemal vor 33 Jahren in der Schule.....
              Auf deutsch wirst du (erfahrungsgemäß) nicht viel finden. Die meiste Software besitzt eine Englische Dokumentation und ich kann dir eigentlich nur empfehlen, deine Kenntnisse wieder aufzufrischen

              Sorry das ich gerade erst anfange und einige Sachen einfach nicht verstehe wenn ich sie Lese ...
              OK, dann versuche ich, des dir zu erklären:
              - Alle Funktionen, die mit mysql_ anfangen gehören zu einer Erweiterung, die inzwischen veraltet sind und ab der nächsten Version entfernt werden. Daher solltest du auf PDO (http://php.net/manual/de/book.pdo.php) umsteigen.
              - Du arbeitest mit einer Datenbank, die MySQL heißt. Akretschmer arbeitet mit einer anderen, die heißt PostgreSQL und bietet deutlich mehr Funktionen, die bei MySQL eben nicht funktionieren
              - http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)

              LG
              https://github.com/Ma27
              Javascript Logic is funny:
              [] + [] => "", [] + {} => object, {} + [] => 0, {} + {} => NaN

              Kommentar


              • #8
                Zitat von Ma27 Beitrag anzeigen
                Auf deutsch wirst du (erfahrungsgemäß) nicht viel finden. Die meiste Software besitzt eine Englische Dokumentation und ich kann dir eigentlich nur empfehlen, deine Kenntnisse wieder aufzufrischen


                OK, dann versuche ich, des dir zu erklären:
                - Alle Funktionen, die mit mysql_ anfangen gehören zu einer Erweiterung, die inzwischen veraltet sind und ab der nächsten Version entfernt werden. Daher solltest du auf PDO (http://php.net/manual/de/book.pdo.php) umsteigen.
                - Du arbeitest mit einer Datenbank, die MySQL heißt. Akretschmer arbeitet mit einer anderen, die heißt PostgreSQL und bietet deutlich mehr Funktionen, die bei MySQL eben nicht funktionieren
                - http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)

                LG
                also PostgreSQL gibt es schon mal auf meinem Webspace hab ich gerade geschaut .......

                Ich werde mir das ganze jetzt mal zu Gemüte führen danke für die Antwort

                Kommentar

                Lädt...
                X