[Script] PHP mit SQL abfrage und ausgabe

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

  • [Script] PHP mit SQL abfrage und ausgabe

    HiHo...

    Ich bin absoluter noop, aber mein Programmierer hat mich leider versetzt

    Versuche seit einer weile selber ins PHP & MySQL zu kommen, aber is nicht so easy

    Zu meiner suche :

    Ich suche ein script das mit aus einer Datenbank Tabelle einträge zusammen zählt, diese in eine andere Tabelle speichert und dann auf einer html seite ausgibt....

    Datenbank Struktur :

    master_aktiv

    Feld 1 : USER
    Feld 2 : score

    Inhalt :

    1. tc_charly | 75884
    2. tc_charly | 7588
    3. frank | 4555
    4 morgen | 457
    5. tc_charly
    .
    .
    .
    usw.

    Nun soll das script zählen wie oft jeder Name vorkommt und diesen wert in die andere Tabelle speichern :

    master_gesamt :

    Feld 1 : user (Soll der User angelegt werden wenn noch nicht vorhanden)
    Feld 2 : score (Ergebniss der aktuellen zählung)
    Feld 3 : score2 (Ergebniss aktuelle zählung + wert in score2)

    Also Feld 3 soll immer die gesamte menge haben.

    Kann mir da jemand helfen ????

    THX schon mal fürs lesen des Beitrages....

  • #2
    Kann mir da jemand helfen
    lass es zur projekthilfe verschieben, da wirst du mit einem standardscript nicht auskommen.

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Ajo, da wollte ich ja zuerst Posten

      Aber dachte da ich noch nichts habe das es hier rein gehört......

      Wer verschiebt das denn nun ? An wen muss ich mich da wenden ?

      Kommentar


      • #4
        wurde schon erledigt

        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Tag,

          also das Abfragen an sich, wer welche Score hat, kannst du komplett mit SQL bewerkstelligen.

          Code:
          SELECT USER,SUM(Score) FROM master_aktiv GROUP BY User
          müsste der SQL Befehl sein, der dir genau die Tabelle ausgibt die du willst.

          Was ich jetzt nicht verstehe, warum du jetzt diese Daten wieder speichern willst? Du kannst doch immer wenn du sie brauchst, mit dem Befehl dir berechnen. So verhinderst du auch das die Daten redudant (schreibt man das so) werden.

          Was ich auch nicht verstehe, was du mit score2 willst. Das ist der Wert (Welcher?) + score2 (Wollen wir den nicht berechnen?)

          Mfg Gurge

          Kommentar


          • #6
            Erst mal dank fürs verschieben

            Also

            Es soll eine art Hall of Fame werden....

            Dazu brauch ich a.) den wert des aktuellen Monats und b.) den gesamten

            Is ja dann so :

            master_gesamt :

            User | Score diesen Monat | Score gesamt

            Wobei score gesamt dann alle monate zusammen hat.

            Denn die Tabelle master_aktiv wird immer am ende des Monats (per Hand auf 0 gestellt)

            Desswegen ja das speicher in einer neuen Tabelle

            THX schon mal für die hilfe ...

            Kommentar


            • #7
              Aha, gut.

              Also musst du in der Tabelle gesamt eigentlich nicht Score speichern, da sich die innerhalb eines Monats ja eh ändert.
              Also schlage ich mal folgende Änderung vor:

              master_aktiv : User, Score
              master_gesamt: User, Score2

              Das hat den Vorteil das du den aktuellen Stand abfragen kannst mit:

              Code:
              SELECT master_aktiv.USER, SUM( Score ) AS Score, Score2
              FROM master_aktiv
              LEFT JOIN master_gesamt ON ( master_aktiv.User = master_gesamt.User )
              GROUP BY master_aktiv.User
              Jetzt musst du nur am Ende des Monats, wenn du die master_aktiv leer machst die Scoredaten jeden Benutzers bei Score2 hinzurechnen. Dafür muss ein PHP-Script ran. Dürfte jetzt aber nicht das Problem sein oder?

              Kommentar


              • #8
                Uff....

                Erst mal danke

                Also

                Da die Hall of Fame (php seite) ja 3 Spalten hat bräuchte ich in der master_gesamt schon alle 3 daten (user, score1 & scoregesamt)

                Und das mit dem php.... *reusper* doch is auch ein prob

                Und wie genau müssen die tabellen in master_gesamt aussehen ?

                Kommentar


                • #9
                  Hast du dir schon mal mit phpMyAdmin den SQL Befehl angeschaut was er ausgibt?

                  Er gibt genau die Tabelle mit den 3 Spalten aus. Durch den Join werden die 2 Tabellen verknüpft und damit so zusagen eine neue Tabelle erstellt, die aber nur für die Abfrage generiert wird. Die Tabellen kannst du also schon so machen wie ich sie oben beschrieben habe.

                  Da ich jetzt aber nicht wirklich Lust habe dir mehr oder weniger die PHP Skripte zu machen, solltest du dir schon mal mit einer PHP Anleitung hinsetzten und dir das selber erarbeiten. Einfach mal nach php Anleitung googeln, da sollte genug kommen. Wenn dann Probleme entstehen helfe ich dir natürlich gerne weiter.

                  Kommentar


                  • #10
                    Habe ich gemacht...

                    Was er ausgibt ist die summer aller Scores aus master_aktiv und nicht wie oft der user drin steht

                    Bin schon dabei mir php näher anzuschauen .... ob das was wird is natürlich eine andere sache

                    Trotzdem mega danke


                    P.S.: Beispiel was er macht :

                    tc_charly | 5 | keiner
                    tc_charly | 5 | No
                    martin | 8 | keiner
                    usw...

                    Er macht dann :

                    tc_charly | 10
                    martin | 8

                    Dabei brauchte ich ja :

                    tc_charly | 2
                    martin | 1

                    Kommentar


                    • #11
                      Ich dachte immer du brauchst die Summe der Werte, naja egal, statt SUM einfach COUNT in die SQL-Anweisung und schon geht es.

                      Kommentar


                      • #12
                        Super.....

                        Nu macht er es wie er es soll

                        Also gibt mir die richtigen werte aus....

                        Nu muss ich mich nur noch hinsetzen und php lernen, das ich das in die andere Tabelle bekomme und dann eben noch den wert für die score_gesamt bekomme.


                        Danke dir schon mal 1000 mal ....

                        Kommentar


                        • #13
                          Sodele, nun hab ich das ganze als PHP am laufen...

                          Nur wie bekomme ich die werte die er mir gibt nun in die master_gesamt und wie update ich die tabelle score_gesamt ????

                          Kommentar


                          • #14
                            Du musst ein Script machen, was einmal im Monat aufgerufen wird und die Daten aus den 2 Tabellen zusammen rechnet und master_aktiv leert. Das Script ruft du am besten über einen Cronjob auf.

                            Als 1. würde ich die Daten wieder abrufen mit dem SQL-Befehl. Die Master_gesamt leeren.
                            Machst eine Schleife wo du jeden Datensatz durchgehst, die Summe berechnest und danach in Master_gesamt inserst.

                            Am schluss musst du noch Master_aktiv leeren.

                            Dürfte doch nicht das Problem sein wenn du alles andere schon hast

                            Kommentar

                            Lädt...
                            X