Antworten auf deine Fragen:
Neues Thema erstellen

Tabelle mit eigenen Parametern sortieren

ms2002

Nicht mehr ganz neu hier

Hallo zusammen,
ich hab nen kleines Problem, was eine Tabelle angeht. Es handelt sich hier über eine Spieltabelle von Volleyball-Ligen.
Hab mal nen Bild hochgeladen:

Ich habe eine Funktion geschrieben, wo man durch die Eingabe der Ergebnisse die Tabelle aktualisieren kann. Nur ist es mir nicht ohne große Umstände möglich die Tabelle zu sortieren, ohne von selbst eingreifen zu müssen. Da meine sortierkriterien, wie man sieht, nicht einfach mit "ORDER BY" erledigt werden können. Außerdem muss ich dann bei mir noch die Positionsangaben in die Datenbank schreiben, also müsst ich nach der Sortierung auch noch den Index der Zeile kennen.

Ich hoffe, es war nicht allzu verwirrend und es kann mir jemand helfen ;)

Vielen Dank schonmal,
Liebe Grüße
 

Chickenshooter

Alter Mann

AW: Tabelle mit eigenen Parametern sortieren

Moin

willst Du mehrere Spalten sortieren oder nur eine oder was!?!?!?

:uhm:

wann soll sortiert werden???

MfG
 

ms2002

Nicht mehr ganz neu hier

AW: Tabelle mit eigenen Parametern sortieren

Ich lasse die Ergebnisse der Spiele eingeben und wenn alle eingegeben wurden soll er mir die Zeilen je nach Rangliste sortieren und mir die Position in die DB schreiben. Das geschieht alles noch in dem Aufruf des eintragens, was ja eg nicht das Problem ist.
 

Chriss1987

me.drinkCoffee();

AW: Tabelle mit eigenen Parametern sortieren

Hi,

wie sieht denn deine DB, bzw. die Tabellen aus? Was gibt der User ein, bzw. wie werden die Ergebnisse erfasst?

Welche Position willst du in die DB schreiben? Den aktuellen Platz?

Schöne Grüße aus dem Sauerland
Chriss
 

ms2002

Nicht mehr ganz neu hier

AW: Tabelle mit eigenen Parametern sortieren

Meine Tabelle ist genauso aufgebaut, wie die auf dem Bild.

(noch nen kleiner Eingabefehler, aber ist für das grundlegende Problem unerheblich)
Das Problem, was ich habe ist, dass ich zunächst erst die Differenz bei den Punkten berechnen müsste, falls diese gleich sind, nehm ich die höchsten gemachten Punkte, falss diese gleich sind, untersuche ich die Sätze auf gleicher Art, ...

Ich weiß aber nicht, wie ich die Zeilen so anordnen kann, dass ich in die Positions-Spalte für das jeweilige Jahr die Tabellenposition eintragen kann.
 

Chriss1987

me.drinkCoffee();

AW: Tabelle mit eigenen Parametern sortieren

Hi,

ok, also hast du nur eine Tabelle...
Wenn du dir die Sache vereinfchen möchtest, die DB-Grundsätze und die DB-Normalformen 1-3 könnten hier hilfreich sein.
Ruhig mehrere Tabellen anlegen, schadet nicht und du ersparst dir teilweise ne ganze Menge Arbeit ;)

Um dein Problem relativ schnell umsetzen zu können, würde ich erstmal die Spalten 'punkte' und 'saetze' (evtl. noch 'baelle') trennen, also je 2 Spalten draus machen mit z.B. 'punkte' und 'gegen_punkte'. Dadurch hast du eine bessere Möglichkeit, nach bestimmten Kriterien zu sortieren, ohne zuvor etwas ausrechnen zu müssen usw.

Schöne Grüße aus dem Sauerland!
Chriss

Edit: 'sdiv' und 'bdiv' sind berechnete Werte, oder? Die haben in Datenbanken eigentlich so nicht zu suchen ;) Die Berechnung sollte zur Laufzeit erfolgen. Aber wenn ich das grad richtig überfliege, ließe sich eine Sortierung nach Punkte, Sätze und Bälle (weiß ja nicht, wie das zusammengesetzt wird beim Volleyball), wenn die 3 Spalten getrennt sind, recht einfach realisieren ;)
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: Tabelle mit eigenen Parametern sortieren

Du behandelst deine Datenbank wie eine Datei, das ist der falsche Ansatz. Wie Chriss1987 schon sagt solltest du dringend die Tabelle neu entwerfen. Sowohl "position", "sdiv" und "bdiv" sind berechnete Werte, die solltest du quasi nie selbst eintippen müssen. Auch erwähnt wurde das unsinnige Zusammenfassen von zwei Werten in einer Spalte ("punkte", "saetze", "baelle")

So wie ich dich verstehe willst du auf deiner Oberfläche Spielergebnisse eingeben und die Ergebnistabelle soll diese dann wiederspiegeln. Ohne groß darüber nachzudenken komme ich daher auf folgende Tabellen und Attribute (und Datentypen):

Tabelle "Teams" mit
  • Name (VARCHAR)
  • id (INT mit auto_increment, primary key)
  • liga_id (Fremdschlüssel auf Liga-Tabelle "id")

Tabelle "Ligen" mit
  • Name (VARCHAR)
  • id (INT mit auto_increment, primary key)

Tabelle "Spiele" mit
  • id (INT mit auto_increment, primary key)
  • datum (DATE, aber das Attribut wäre wohl optional, alternativ nur das Jahr als INT speichern, oder die Saison, etc.)
  • heim (Fremdschlüssel auf Teams "id")
  • gast (Fremdschlüssel auf Teams "id")
  • punkte_heim (INT)
  • punkte_gast (INT)
  • saetze_heim (INT)
  • saetze_gast (INT)
  • baelle_heim (INT)
  • baelle_gast (INT)

Ich kenne mich nicht so sehr mit Volleyball aus, aber das scheint mir für den Anfang auszureichen. Wenn du es richtig machst, musst du dann nur die Spiele richtig eintragen und der Rest wird dir berechnet.

Duddle
 

PitPanda

Noch nicht viel geschrieben

AW: Tabelle mit eigenen Parametern sortieren

Punkte, Sätze und Bälle würd ich persönlich als CHAR typisieren und nicht als INT. Oder man speichert die tore? und gegentore? jeweils in eine eigene Spalten und macht dann INT daraus, weil das sind ja Quasi mehrfach Attribute.
 
Zuletzt bearbeitet:

ms2002

Nicht mehr ganz neu hier

AW: Tabelle mit eigenen Parametern sortieren

Ich habe es jetzt folgendermaßen gelöst:



Ich weiß, es ist immernoch redundant, aber um mir jetzt nicht noch mehr Arbeit zu machen, da ich sonst die Ausgabe komplett umschreiben muss und ich Termindruck hab ;) habe ich mich für diese Variante entschieden. Wenn ich nun den aktuellen Tabellenstand haben will, muss ich nur noch nach pdiv absteigend sortieren und bei Gleichheit durchgehen und die nächsten Parameter nehmen.

Man sollte doch vorher die Tabellen besser planen, lerne ich daraus. Außerdem muss man sich schon vorher Gedanken machen, was man alles mit den Daten machen will, dann erleichtert es einiges ;)
Vielen vielen Dank an die vielen Hinweise,
Liebe Grüße,
Maik
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben