Andreas: /MySQL für eigenes CMS

Hi!
Bin dabei eine Seite so einzurichten, dass diese über den Browser in einem Internen Bereich verändert werden kann. Zuächst Du den Inhalten:
Ich mache das jetzt so, dass ich in eine MySQl Tabelle z.B. einen Datensatz "News" habe. Halt ein Feld Typ, in diesem Fall "News" und ein Feld Inhalt, halt das was später auf der HP stehen soll.
Jetzt binde ich den Inhalt einfach über eine SQL-Abfrage ein, es wird der Inhalt dieses Feldes genau da wo die News auf der Homepage erscheinen sollen eingefügt.
Verändert wird der Inhalt über eine Update-Anweisung auf der Internen "Pflegeseite".
So habe ich das mit zig einzufügenen inhalten gemacht, noch kombiniert mit upload-Scripten für Bilder geht das wirklich gut!
Ist das so zuu empfehlen, oder sollte man das doch lieber anders machen, Stichwort XML/Templates?

Das etwas größere Problem ist die Formatierung der Inhalte. wenn ich z.B. ein Wort fett schreiben will, muß ich noch von Hand <b>Wort</b> schreiben. In manchen Foren habe ich das schonmal mit javascript gesehen, reicht da Javascript aus, um einen Text kpl. in Style, Größe.. zu bearbeiten?

Was könnte man da evtl mit XML und Templates machen? Ich meine ist es nicht nachteilig, wenn ich auf jeder Seite erstmal 1000 SQL-Abfragen für jedes kleine bisschen Design ausführe? Z.B. Farben von Tabellen, Hintergründen... alles in MySQl speichern uns auslesen, oder anders?

Wer hat was vergleichbares schonmal gemacht?

Grüsse

Andreas

  1. hallo,

    es kommt daruf an ob du einen serverzugang hast (sprich ob du was am server installieren kannst)

    schaue dir mal http://selfsuche.teamone.de/cgi-bin/such.pl?suchausdruck=CMS&wort=on&lang=on&feld=alle&index_4=on&index_5=on&hits=100 an, da findest du einige lösungsvorschläge.

    grüße
    thomas

    1. hi Thomas!

      Das meiste davon hatte schon gelesen, ein paar noch nicht. Im Prinzip weiß ich was ich für Möglichkeiten habe, aber ich möchte das selbst programmieren, damit ich wirklich alles so einstellen kann, wie ich möche. Zunächst reicht es schon die Inhalte und ein paar Farben und Grafiken verändern zu können, was ich mit php/MySQL schon ziemlich schnell geschafft habe. Wie gesagt, in meinem internen Bereich können die Inhalte über Formulare mit Textareas etc verändert werden. Die eingegebenen Daten speichert man in der MySQL DB. Soweit erstmal kein Problem.

      Was ich jetzt nicht weíß, wenn ich immer mehr MySQL Abfragen auf der eigentlichen Homepage einfüge, um die Inhalte auch dynamisch aus den entsprecheneden Tabellenfeldern asuzulesen, velangsamt das nicht die Seite ungemein und macht diese viel Anfälliger für Fehler?

      Ich will lediglich wissen, ab das so zu machen eine gängige Praxis für so ein CMS ist, oder ob Ihr davon abraten würdet, denn die Anzahl der Abfragen steigt ja, je mehr ich da verändern können will, wie Schriten, Tabellenfarben....

      Ich hatte auch überlegt, eine CSS Datei über das web editierbar zu machen, kann man die einfach wie eine txt verwenden(schreiben, lesen)?

      Grüsse
       Andreas

      1. hallo Andreas,

        Was ich jetzt nicht weíß, wenn ich immer mehr MySQL Abfragen auf der eigentlichen Homepage einfüge, um die Inhalte auch dynamisch aus den entsprecheneden Tabellenfeldern asuzulesen, velangsamt das nicht die Seite ungemein und macht diese viel Anfälliger für Fehler?

        doch. das ist auch der "nachteil" von dynamischen cms-systemen. es verden permanente abfragen am server gesendet. dem kann man mit besseren hardware oder mit ausgeklügelten cachingmechanismen begegnen.

        obwohl, wenn deine seiten keinen ansturm zu erwarten haben, ist es nicht so schlimm, aber für jedes keine ding eine db-abfrage zu staren ist irgendwann einfach zu viel.

        Ich will lediglich wissen, ab das so zu machen eine gängige Praxis für so ein CMS ist, oder ob Ihr davon abraten würdet, denn die Anzahl der Abfragen steigt ja, je mehr ich da verändern können will, wie Schriten, Tabellenfarben....

        es gibt aktivX oder java-applet editoren (z.B. das dhtml editor von M$) die du einsetzten kannst, damit kannst du veles verändern was du willst und in der db brauchst nur noch die datei abzuspeichern.
        oder du machst eine formularbasierte eingabe wo du für jedes feld bestimmte formatierungseingenschaften als option zur verfügug stellt (damit kannst du aber kaum tabellen erstellen on the fly)

        na ja ... ich sehe für ein CMS eingentlich auch nicht wirklich die notwendigkeit, formatierungseigenschften duch den user bestimmen zu lassen.

        grüße
        thomas

        1. Hallo Thomas!

          Also ich glaub das ist wirklich nicht so gut, mit den Abfragen. Leider liegt die Seite noch bei Strato, das umziehen geht leider nicht so von heute auf morgen, aber ist im Gange. Jedenfalls dauerte heute nachmittag der Aufbau jeder Seite teilweise 10, 20 Sekunden bis gar keine Verbindung mehr ging. Aber da ging es auch mit phpmyadmin nicht mehr, also liegt das nicht an der Seite, oder meinst ich hab das was abgeschossen:-)
          Jedenfalls bauten sich auf dem selben Server statische Seiten noch einigermaßen normal auf.
          Wenn ich jetzt probiere, so schnell wie sie Seite dich aufbaut kann man kaum gucken, hat also extrem viel mit der Performance  des MySQL Servers zu tun. Von den Abfragen her ist das eigentlich nicht so wild, benötige im Schnitt eigentlich etwa 5-8 Abfragen für Warenkorb und dynamische Listenfelder und Links und dynamische Inhalte nur 2 fürs Design, einmal die Farbe  bestimmter Tabellenrahmen und 2. die Farbe der Überschrift in diesen Tabellen. Den Rest kann ich gut über CSS steuern. Und da bin ich auch gerade an einem Script, welches mit die Datei dynamisch erstellt, wenn ich was ändern will, geht das dann halt auch per Web Interface!
          Am besten ich versuche das mirgen Stichprobenartig nochmal,und wenn die Performance dann wieder so in die Knie geht, muß ich mir was überlegen. Ist es besser, wenn ich Inhalt aus txt - Dateien einlese? Da bin ich jedenfalls unabhöngig von mySQL, obwohl die brauche ich ja wenigstens für den Warenkorb und Bestellung?!
          Grüsse

          Andreas

          1. Hi Nochmal!

            Ich hab nochmal genau nachgezählt, sind jedesmal(auf jeder Seite) ca. 20 mysql_querys, die ich an die DB schicke. Aber wie gesagt nur 2 fürs Design. Problem ist, dass ich oft auch 2 Abfragen schicke für eine Sache schicke, z.B. habe ich ein kliens Feld für ein aktuelles angebot, vom internen Bereich aus kann man in der Daten-Tabelle die Nummer eines Produktes aus der Produkt-Tabelle speichern.
            Wenn ich das angebot jetzt anzeigen will, frage ich erst die Daten-Tabelle  ab, WHERE Typ = 'Angebot', dann habe ich die Produkt ID, mit der ich aus der Produkt-Tabelle die übrigen Daten abfrage.
            Sollte man sowas evtl. vermeiden?
            Wie gesagt, fürs Design verwende ich nur 2 Abfragen, wahrscheinlich kann ich das aber auch durch Klassen machen, die ich über eine externe .css verändern kann.
            Aber wenn ich jetzt wie bekloppt probiere möglichst schnell nacheinander so viele Seiten zu öffnen wie ich kann, bleibt die Performance jetzt gut.

            Grüsse
              Andreas

            1. Hallo Adreas,

              zu den Abfragen an die DB ob und wie du sie machen sollst, da kann ich dir nicht weiterhelfen, weil ich mich mit DBs nicht auskenne.
              Ich kann dir höchstens über CMS systeme was erzählen und wie das eine oder andere mit dynaischen seiten umgeht. bzw. über editoren die sie verwenden ;-)

              ich würde an deiner stelle es versuchen trotzdem, die anzahl der DB abfragen auf die wirklich nötigen dinge (warenkorb) zu reduzieren, obwohl wenn ich dich richtig verstanden habe ist die anzalh der abfragen nicht so groß. es kommt also darauf an, ob du später weitere designänderungen ermöglichen möchtest oder nicht. denn es ist beser das jetzt vorzuplanen (z.b. mit einem editor: seit dem IE5 kannst ud ja IE selbst als editor benutzen)), als erst dann was unternehmen, wenn die anzahl der DB abfragen wirklich hoch wird.

              Grüße
              Thomas