Ergebnis 1 bis 20 von 288

Thema: Allgemeiner Fragenthread II

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #11
    Zitat Zitat von darrel burden Beitrag anzeigen
    Hi hab da n kleines denk Problem.

    Dreht sich um PHP und MySQL.


    Also ich habe 2 Tabellen, eine für Kategorien und eine für Spiele.
    Wenn ich jetzt einen neuen Eintrag in die Tabelle Spiele mache wird eine Kategorie auch gleich mit eingetragen und zwar die die aus der Tabelle Kategorie ausgewählt wurde. Wenn ich jetzt aber ein Kategorie Name änder, wird er aber nicht in der Tabelle Spiele geändert, das heißt wenn ich jetzt alle Einträge aus der Tabelle Spiele mit der Kategorie "123" Anzeigen lassen will aber vorher den Kategorie Namen in z.b. "456" geändert habe kann mir ja nichts mehr angezeigt werden.

    Verständlich?

    Wie kann ich das Verhindern oder Optimieren?
    Sorry, aber wie grauenhaft schlechter Stil ist das denn bitte?
    Du legst gefälligst in der Tabelle für die Kategorien eine Spalte ID (die meinetwegen auch anders heißen kann) an, die eine einzigartige und unveränderliche Nummer enthält (also einfach PRIMARY KEY auto_increment in PMA setzen) und referenzierst diese Nummer in der Tabelle der Spiele statt des Namens. Problem solved, so musst du den Namen eh erst abfragen und er wird nur einmal gespeichert.

    Neben der Lösung deines Problems spart es Speicherplatz in der Tabelle und erhöht die Performance (da du vermutlich den Namen nicht zum Key gemacht hast), auch wenn du erst noch den Namen abfragen musst. Geht sogar mit nur einem Query:
    Code:
    SELECT g.*, c.name AS category_name FROM games AS g LEFT JOIN categories AS c ON (g.category = c.id)
    (und bitte kommt mir jetzt nicht mit "ne ganze Zeile zu selecten ist schlechter Stil", das ist nur Beispielcode! )

    Geändert von dead_orc (25.05.2008 um 19:19 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •