tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
141
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    xxppatronen xxppatronen ist offline Grünschnabel
    Registriert seit
    May 2007
    Beiträge
    2
    Sicherlich ganz einfach für jemanden vom Fach.

    Ich möchte folgendes realisieren, was ich bereits fast zum Laufen bekommen habe (Fehler fiel mir erst jetzt auf): Ich möchte "Produkte" in "Ordner" und die Ordner wiederrum in "Gruppen" sortieren und einen Verzeichnisbaum zum Navigieren.

    Ich arbeite mit InnoDB-Tabellen.

    Tabelle GRUPPEN
    id(int) auto_increment primary key
    gruppe(varchar)
    ...


    Tabelle ORDNER (Fremdschlüssel: group_id => gruppen->id)
    id(int) auto_increment primary key
    group_id(int)
    ordner(varchar)
    ...


    Tabelle PRODUKTE
    (Fremdschlüssel: gruppe_id => gruppen->id, ordner_id => ordner->id)
    id(int) auto_increment primary key
    gruppe_id(int)
    ordner_id(int)
    produkt(varchar)
    ...

    Meine Überlegung ist es, ob die Tabelle Produkte auch ohne die Spalte gruppe_id auskommt?!

    Ich möchte dass jedes Produkt eindeutig einem Order und einer übergeordneten Gruppe zugewiesen ist und beim Ändern der Ordner- oder Gruppen_id sich die Werte in Tabelle Produkte "automatisch" verändern. Gut ausgedrückt ,-)

    Bislang tritt der Fehler auf, dass wenn ich die Ordner_id in Tabelle Produkte ändere (quasi verschieben der Produkte in einen anderen Ordner), dass zusätzlich die alten Zuweisung bestehen bleiben und nur bei direkter Abfrage: "SELECT gruppe_id FROM produkte WHERE gruppe_id=2" zum Vorschein kommen. Merkwürdig.

    Wer kann mir helfen?
     

  2. #2
    ms76ec ms76ec ist offline Mitglied
    Registriert seit
    Jul 2007
    Beiträge
    23
    Leider hast Du nicht geschrieben, welche Abfrage Du normalerweise verwenden möchtest.
    Das entfernen des Fremdschlüssels gruppen.id aus produkte erscheint mir sehr sinnvoll, da sonst bei jedem Verschieben zwei Tabellen verändert werden müssten.
    Für ein Verschieben der Produkte wäre somit nur noch das Ändern des Ordners, für das Ändern des Ordners nur die Gruppe zu berücksichtigen.
     

  3. #3
    xxppatronen xxppatronen ist offline Grünschnabel
    Registriert seit
    May 2007
    Beiträge
    2
    Um die Produkte auszulesen verwende ich:

    SELECT SQL_CALC_FOUND_ROWS s.id AS subcat_id,
    g.groups AS groups,f.folder AS folder,p.image,s.subcategory,i.interval_decimal AS num,t.zeitbedarf,s.status,s.priority
    FROM $db_table AS s
    INNER JOIN ORDNERas f
    ON s.folder_id=f.id
    INNER JOIN GRUPPE as g
    ON f.group_id=g.id
    WHERE f.id=2 AND g.id=4
     

Ähnliche Themen

  1. PHP Mysql Kategorien anlegen
    Von thommy1972 im Forum PHP
    Antworten: 5
    Letzter Beitrag: 26.10.10, 21:13
  2. [MySQL] Einfache Frage zu ForeignKeys / PrimaryKeys
    Von Eroli im Forum Relationale Datenbanksysteme
    Antworten: 8
    Letzter Beitrag: 29.08.10, 18:46
  3. MySQL-Datenbank mit PHP anlegen ?
    Von Joern Schreiber im Forum PHP
    Antworten: 5
    Letzter Beitrag: 18.07.05, 20:59
  4. Antworten: 8
    Letzter Beitrag: 20.02.05, 21:33
  5. div. Fragen zu ForeignKeys in mySQL
    Von DanMcFly im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 30.04.04, 18:53