dynaische SQL-Tabelle per PHP

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

  • dynaische SQL-Tabelle per PHP

    Hi zusammen,

    ich habe da ein kleines Problem. Ich will eine Tabelle in einer Datenbank erzeugen. Allerdings soll die Tablle je nach bedarf verschieden groß sein.
    Sie soll dabei aus festen und variablen Spalten bestehen.
    zB.

    Kundenname
    Artikel1, Artikel2, usw.
    da nicht klar ist, wieviele Artikel der Kunde besitz, habe ich mit einer for Schleife begonnen
    $zahl0 = 6;
    $zahl = $zahl0 + 1;
    for($count = 1; $count < $zahl; $count++)
    {
    $Teil[0] = "Artikel";
    $Teil[1] = "$count";
    $Spalte = implode ( '' , $Teil );
    echo $Spalte,", ";
    }
    Nun zeigt er mir natürlich nur den letzten Array an
    In dem Fall - Artikel6- , ich brauche aber 6 Spalten + die fixen Spalten für die DB.
    Die Frage ist nun wie bekomme ich die einzelnen Arrys als Variablen aus der Schleife raus.
    Gerne nehme ich auch einen anderen Ansatz, wenn jemand eine Idee hat.

    Danke im Voraus

    LG teufel964

  • #2
    Zitat von Teufel964 Beitrag anzeigen
    ich habe da ein kleines Problem. Ich will eine Tabelle in einer Datenbank erzeugen. Allerdings soll die Tablle je nach bedarf verschieden groß sein.
    Sie soll dabei aus festen und variablen Spalten bestehen.
    Fehler im Datenbankdesign. Eine Tabelle sollte _nicht_ aus einer variablen Anzahl an Spalten bestehen.

    Kommentar


    • #3
      halt ! Missverständnis ! natürlich besteht jede der Tabelen aus einer fixen Anzahl von Spalten, aber für jedem Kunden soll eine individuelle Tabelle mit unterschiedlicher Anzahl von Spalten erstellt werden.

      Kommentar


      • #4
        OK, aber durchnummerierte Spalten sind genauso falsch. Du brauchst eher drei Tabellen. Eine Tabelle Kunde, eine Tabelle Artikel und eine Tabelle für die Beziehung zwischen Kunde und Artikel:

        kunde: id, kundenname
        artikel: id, artikelname
        kunde_artikel: kunde_id, artikel_id

        Kommentar


        • #5
          Danke für deine Anwort,
          aber ich brauche genau 1 Tabelle und nicht drei, da sonst die Beziehungen zu kompliziert werden. Ich wollte eben kein statisches Schema F.

          aber Danke noch mal.

          Kommentar


          • #6
            Dann nimm eine NoSQL-Datenbank. Die haben kein statisches Schema.

            Aber eine SQL-Datenbank ist für sowas ungeeignet und du wirst in Zukunft nur Probleme damit haben.

            Kommentar


            • #7
              Sorry, aber mein Problem ist doch nicht die Datenbank oder die Tabelle, sonder die Umwandlung des Arrays in einebrauchbare Variale also ein reines PHP Problem, hat nur bedingt etwas mit SQL zutun.

              Also das Array $Spalte, welches über implode zusammengeführt wurde muß in eine Variable umgewandelt werden und aus der For Schleife herausgezogen werden. Allerdings für jeden durchlauf extra. So das in unserem Bespiel 6 einzelne Vaiablen entstehen, welche ich denn weiter verarbeiten kann. Also nochmal >kein Problem von SQL< sonder von PHP. Ich weiss, dass es geht, leider komme ich gerade nicht drauf wie.

              LG

              Kommentar


              • #8
                Zitat von Teufel964 Beitrag anzeigen
                Sorry, aber mein Problem ist doch nicht die Datenbank oder die Tabelle, sonder die Umwandlung des Arrays in einebrauchbare Variale also ein reines PHP Problem, hat nur bedingt etwas mit SQL zutun.

                Also das Array $Spalte, welches über implode zusammengeführt wurde muß in eine Variable umgewandelt werden und aus der For Schleife herausgezogen werden. Allerdings für jeden durchlauf extra. So das in unserem Bespiel 6 einzelne Vaiablen entstehen, welche ich denn weiter verarbeiten kann. Also nochmal >kein Problem von SQL< sonder von PHP. Ich weiss, dass es geht, leider komme ich gerade nicht drauf wie.
                Vergiss das einmal. Das viel dringendere Problem ist das verkorkste Datenbankdesign.

                Kommentar


                • #9
                  habe habe also ein DB Problem, wenn du meinst, na dann sage mal wo!

                  Kommentar


                  • #10
                    Zitat von Teufel964 Beitrag anzeigen
                    habe habe also ein DB Problem, wenn du meinst, na dann sage mal wo!
                    Du verstößt gegen die erste Normalform.

                    Kommentar


                    • #11
                      Genau das zu verhindern ist ja mein Ziel. Und darum will ich das PHP Problem lösen, damit eben die Spalte 2 nicht Artikel1 heißt sondern Schrauben oder Muttern oder was auch immer, also ein eineindeutiger Name. Aber wie ich schon sagte, mein Datenbankdesign ist in Ordnung. Die Daten sind bereits in mehreren Tabellen geteilt ( siehe NF3 ). Für eine neue Funktion benötige ich aber weitere DB mit unterschiedlich großen Tabellen, die aus der Webanwendung erstellt werden müssen.

                      Kommentar


                      • #12
                        Eine Anwendung soll von sich aus keine Tabellen anlegen oder verändern. Das macht der Entwickler und nicht die Anwendung. Mach ein ordentliches Datenbankdesign, dann brauchst du auch nicht mit dynamischen Tabellen herumpfuschen.

                        Übrigens: Dir ist bekannt, dass die Anzahl von Tabellen und Spalten limitiert ist?

                        Kommentar

                        Lädt...
                        X