Vinzenz Mai: Array in mySQL-Datenbank unserializen und durchsuchen

Beitrag lesen

Hallo,

Ich habe eine Tabelle (dispo) mit den Feldern Projektname, technik, Grafik und eine andere Tabelle mit angelegten Benutzern. Weise ich jetzt beispielsweise mehrere Benutzer dem Bereich technik von Projekt1 zu, so schreibe ich diese alle in ein array, serialize das und schreibe es in die Datenbank.

warum verwendest Du überhaupt ein relationales Datenbankmanagementsystem?

Soweit funktioniert alles gut und die Ausgabe mache ich mittels

[...]

Jetzt möchte ich aber das ganze andersrum sortieren. Also nach Benutzer sortiert ausgeben, in welchem Projekt derjenige involviert ist.

sowas gibt Dein [...] (zensiert) Datenbankdesign nicht her. Mit einer normalen n-m-Beziehung und drei Tabellen kriegst Du das kinderleicht mit SQL:

  
SELECT  
    b.benutzer,  
    p.projekt  
FROM  
    projekte p  
INNER JOIN  
    projekt_mitarbeiter pm  
ON  
   <geeignete Join-Bedingung>  
INNER JOIN  
    benutzer b  
ON  
   <geeignete Join-Bedingung>  
ORDER BY  
   b.benutzer,  
   p.projekt  

Ist meine Herangehensweise mit den Arrays eine ziemlich ungeschickte welche?

Ich kann mir nur wenig schlimmeres vorstellen.

Hat jemand einen kleinen Gedankenanschubs für mich oder eine alternative Herangehensweise?

eine angemessene Datenmodellierung sollte zu den nötigen Tabellenstrukturen führen. Der Wikipedia-Artikel Normalisierung (Datenbank) könnte Dir dabei als Ausgangspunkt dienen, zu lernen, wie man mit relationalen Datenbankmanagementsystemen sinnvoll umgeht.

Freundliche Grüße

Vinzenz