Der-Dennis: Meine Erklärung warum ich das als Serialize speichern möchte.

Beitrag lesen

Hallo Jnnbo,

Das hat er ja erklärt, er möchte Datenbankfelder sparen. Das ist durchaus nicht völlig unsinnig, kann man (ich zumindest) aber ohne Kenntnis des Drumherum und damit fehlender Abschätzbarkeit der Folgen nicht beurteilen.

warum ich das ganze mache hat folgenden Hintergrund:

Ich möchte gerne später ein PDF zusammen stellen lassen, was dank http://html2pdf.fr/de/example absolut kein Problem ist. Dieses möchte ich dynamisch halten so dass ich mit einer Datei mehrere Bereiche abdecken kann. Jedes PDF (Angebot, Rechnung) hat später Grundelemente die immer gleich sind, dann möchte ich aber im Admin Bereich Bereiche hinzuschalten bzw. entfernen können. Da ich jetzt aber noch nicht weiß wie viele Felder ich benötige, möchte ich diese optionale Elemente als "Serialize" speichern um nicht ständig neue Felder hinzufügen zu müssen. Außerdem müsste ich dann ständig den insert Code anpassen, was auch nicht wirklich toll ist.

ich hab vor kurzem ähnliches gemacht, übrigens unter anderem auch mit html2pdf. Ist für einfache Sachen wirklich gar nicht verkehrt.

In dem Fall würde ich Dir aber 1. vom serialisieren, 2. von der Verwendung nur eines Templates für alles und 3. für das Zu- und Abschalten im Admin-Panel abraten. Ich würde wetten, damit handelst Du Dir früher oder später Probleme ein.

Zu 1.: Ich würde eine sinnvolle Datenbankstruktur wählen. Ein Angebot und eine Rechnung haben Eigenschaften, manche davon überschneiden sich. Du könntest also z.B. eine Tabelle "Rechnung" mit den für eine Rechnung typischen Eigenschaften erstellen, gleiches für "Angebot". Sowohl ein Angebot als auch eine Rechnung haben aber typischerweise eine Anschrift. Das kannst Du in eine eigene Tabelle "Anschrift" auslagern und dann in der "Angebot"- und "Rechnung"-Tabelle "verlinken", also dort nur den Schlüssel der Anschrift speichern. Also schlicht und einfach eine normalisierte Datenbank.

Zu 2.: Verwende lieber mehrere Templates. Z.B. ein Haupt-Template, was nur Header (z.B. mit Anschrift) und Footer (z.B. Deine Kontaktdaten) bereitstellt. Dann gibt es die Templates "Angebot" und "Rechnung", die in den Inhaltsbereich des Haupttemplates geladen werden. Zusätzlich gibt es z.B. ein Template "Tabelle mit den Einzelpositionen", welches Du dann wiederrum in die beiden Templates "Angebot" und "Rechnung" inkludieren kannst.

Zu 3.: Im Allgemeinen braucht das keine Option im Admin-Bereich zu sein. Das geben die Templates schon von sich her und es ist zudem sehr unwahrscheinlich, dass Du da ständig was Ein- und Ausschalten musst. Konzentriere Dich lieber auf die anderen Baustellen. Außerdem kannst Du in den Templates ja auch Abfragen wie "wenn keine Telefonnummer angegeben, schreibe k.A." einbauen.

Gruß, Dennis

0 72

Serialize

Jnnbo
  • mysql
  • php
  1. 0

    Serialize - Mein Beispiel

    Jnnbo
    1. 0
      woodfighter
      1. 0
        Jnnbo
        1. 0
          woodfighter
          1. 0
            Jnnbo
            1. 1
              Der-Dennis
              1. 0
                Jnnbo
                1. 0
                  Der-Dennis
        2. 0
          Sven Rautenberg
          1. 0
            Jnnbo
            1. 0
              Sven Rautenberg
              1. 0
                Jörg Reinholz
  2. 0
    woodfighter
    1. 0
      dedlfix
  3. 0
    Serialize
    1. 0
      woodfighter
  4. 1
    Jörg Reinholz
    • php
    1. 0
      Jnnbo
      1. 0
        Jörg Reinholz
        1. 0
          Jnnbo
          1. 0
            Jörg Reinholz
            1. 0

              2 Stufe der Auflösung

              Jörg Reinholz
            2. 0
              dedlfix
              1. 0
                Jörg Reinholz
                1. 0

                  Serialize - Kontextwechsel?

                  Der-Dennis
                  1. 1
                    Jörg Reinholz
                    1. 0
                      Der-Dennis
                      1. 0
                        Jörg Reinholz
                        1. 0

                          JSON

                          Der-Dennis
                          1. 0
                            Jörg Reinholz
                            1. 0
                              Der-Dennis
                          2. 0
                            Tabellenkalk
                            • hardware
                            1. 0
                              Der-Dennis
                  2. 1
                    dedlfix
                    1. 0
                      Der-Dennis
                  3. 0
                    Tabellenkalk
                    • perl
                    1. 0
                      Der-Dennis
              2. 0

                Meine Erklärung warum ich das als Serialize speichern möchte.

                Jnnbo
                1. 0
                  Der-Dennis
                2. 0
                  dedlfix
                  1. 0
                    Jnnbo
                3. 0
                  Jörg Reinholz
            3. 0
              Der Martin
            4. 0
              Jnnbo
              1. 0
                frankx
                1. 0
                  Jnnbo
                  1. 0
                    Der-Dennis
              2. 0
                Der-Dennis
                1. 0
                  Jnnbo
                  1. 0
                    Der-Dennis
              3. 0
                Jörg Reinholz
                1. 0
                  Der-Dennis
                2. 0
                  Jnnbo
              4. 1

                Jetzt habe ich gerafft, was Du überhaupt willst

                Jörg Reinholz
                1. 0
                  Jörg Reinholz
                  1. 0
                    Jnnbo
                    1. 0
                      Jörg Reinholz
                      1. 0
                        Jnnbo
                        1. 0
                          Jörg Reinholz
                          1. 0
                            Jörg Reinholz
                            1. 0

                              Notice: Undefined index: wps_strasse

                              Jnnbo
                              1. 1
                                Der Martin
                                1. 0
                                  Jnnbo
                                  1. 1
                                    Der Martin
                                2. 0
                                  dedlfix
                          2. 0
                            Jnnbo
            5. 1
              Sven Rautenberg
    2. 1
      dedlfix
      1. 0
        Jörg Reinholz
    3. 0
      Sven Rautenberg
      1. 1
        dedlfix