Tabelle "dynamisch" erstellen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tabelle "dynamisch" erstellen

    Hallo an alle,

    Ich habe ein kleines Problem!

    Und zwar erstelle ich ein Script, welches eine Umfrage erstellt!
    Zur Auswertung der Daten möchte ich die Einträge in einer DB speichern.
    Das Ganze soll allerdings als "Blanko" Umfrage verwendet werden, was heisst, dass immer wieder neue Umfragen generiert werden. Ich speichere sämtliche Vriablen in einer config.php aus welcher dann das Umfrageformular generiert wird.
    Ich möchte nun nur noch für jede Umfrage eine eigene DB-Tabelle anlegen, welche ebenfalls aus der config.php generiert wird. Das Problem dabei ist, dass die Anzahl der Spalten von 2 bis 22 variieren kann. Somit müsste ich eine Schleife verwenden um die Tabelle zu erzeugen, und da steh ich auf dem Schlauch wie das umsetzbar ist!

    ich bin für jede Hilfe dankbar!

    PHP Code:
    if($mysql=="1"){
    include(
    'datei.php');
    include(
    'mysql.php');
    mysql_query("CREATE TABLE `$db`(
      `id` smallint(6) NOT NULL auto_increment,
      `
    $frage1` mediumtext NOT NULL,
      `
    $frage2` mediumtext NOT NULL,
      `
    $frage3` mediumtext NOT NULL,
      `
    $frage4` mediumtext NOT NULL,
      `
    $frage5` mediumtext NOT NULL,
      `
    $frage6` mediumtext NOT NULL,
      `
    $frage7` mediumtext NOT NULL,
      `
    $frage8` mediumtext NOT NULL,
      `
    $frage9` mediumtext NOT NULL,
      `
    $frage10` mediumtext NOT NULL,
      `
    $frage11` mediumtext NOT NULL,
      `
    $frage12` mediumtext NOT NULL,
      `
    $frage13` mediumtext NOT NULL,
      `
    $frage14` mediumtext NOT NULL,
      `
    $frage15` mediumtext NOT NULL,
      `
    $frage16` mediumtext NOT NULL,
      `
    $frage17` mediumtext NOT NULL,
      `
    $frage18` mediumtext NOT NULL,
      `
    $frage19` mediumtext NOT NULL,
      `
    $frage20` mediumtext NOT NULL,
      PRIMARY KEY  (`id`))"
    );

    so funktioniert es leider nicht, wenn nicht alle 20 Fragen einen Inhalt haben. Wie kann ich das so ändern, dass entweder "leere" Spalten erzeugt werden, oder genau so viele wie fragen eingetragen sind?
    Wer brauch schon ne Signatur?

  • #2
    Zumindest diese Frage zeigt das Du überhaupt nichts vom relationalen Datenbank Modell verstanden hast ... also zurück und Grundlagen pauken ... !

    Oder wie siehst mit häkeln aus ... wäre das nicht was?
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Comment


    • #3
      Hm,

      Ich weiss nicht so genau was du mir damit sagen willst!

      Ich will für jede Umfrage eine eigene Tabelle anlegen, damit die Ergebnisse langfristig einzusehen sind!

      Soll ich deiner Meinung nach die Tabellen verknüpfen?

      oder steh ich wirklich total auf dem Schlauch!

      Ich denke ich hab schon gewisse Erfahrungen im Umgang mit Datenbanken.
      Ich wäre dir dankbar wenn du deine Aussage konkretisieren könntest? Mit der Aussage kann ich nicht wirklich viel anfangen!
      Wer brauch schon ne Signatur?

      Comment


      • #4
        Das, was du da vorhast, ist ja nun nicht im Ansatz der richtige Weg... Du solltest dir, wie goth schon sagte, Grundlagen anschauen. Vor allem, was Normalisierung bedeutet, und wie man dies in der Praxis umsetzen kann.

        Meiner Meinung nach darf man NIEMALS mehrere Tabellen mit der gleichen Struktur / gleichen Inhalten haben...

        Comment


        • #5
          Es werden ja auch nicht die selben inhalte sein!

          Und wie im Script zu erkennen ist, hatt jede Tabelle einen eigenen Namen der immer beim erstellen der Umfrage angegeben werden muss!

          auch haben die einzelnen Spalten eigene Namen, je nachdem, wie die jeweilige Frage ist!

          Das Problem einfach nur, es ist nicht sicher zu sagen wie viele Spalten die Tabelle haben wird. Ich müsste also eine Schleife bauen, welche die Spalten der Tabelle definiert, und das ist ja in der mysql_query nicht möglich eine schleife einzubauen.
          Wer brauch schon ne Signatur?

          Comment


          • #6
            Original geschrieben von Sardine
            Es werden ja auch nicht die selben inhalte sein!
            Aber auf jeden Fall die gleichen Entitäten ... !

            Von meinetwegen kannst Du ja auch für jede Antwort 'ne eigene Tabelle anlegen ... die Antworten sind ja schliesslich auch nicht immer die selben ... !
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Comment


            • #7
              Ah, ok, jetzt versteh ich was du meinst!

              Danke das ist ein Ansatz!

              *Sorry ich stand wohl wirklich auf dem Schlauch*
              Wer brauch schon ne Signatur?

              Comment

              Working...
              X