1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Content Management in PHP

Discussion in 'Web-Know-how für die Homepage' started by Steffy, Aug 5, 2003.

Thread Status:
Not open for further replies.
  1. Steffy

    Steffy Kbyte

    Hallo!

    ich kenne mich nun ja ein wenig mit MySQL und PHP aus. Ich will folgendes erzielen (bitte KEINE Links auf Tutorials oder so posten, mir fehlt nur die generelle Idee, wie ich es konstruieren soll, wie ich es MACHEN muß, weiß ich schon (glaub ich jedenfalls :-) )):

    also, eine Site, die in Form eines dreigeteilten Layouts dargestellt wird (mit blinden Tabellen). Links steht der Inhalt, in der Mitte die entsprechendne Inhalte, und rechts kann man, falls der Inhalt eines Artikels auf mehrere Seiten aufgeteilt wird, zu den einzelnen Seiten springen.

    So weit, so gut. Ist es nun sinnvoll, sämtliche Artikel in der MySQL-Datenbank abzulegen? Auch die Bilder? Daß es geht, weiß ich ja - die Frage ist, ob es sich lohnt. Ich könnte mir vorstellen, daß es sehr schnell sehr unangenehm werden würde, falls die Artikel oft geändert werden sollen ... und umständlich.

    Sollte man eigene reguläre Ausdrücke einführen, um einen (virtuellen) Seitenumbruch zu markieren? Dann könnte das PHP-Skript nur die entsprechende Seite aus einem gesamten Artikel herausfiltern ... oder ist es praktischer, jede Seite getrennt abzulegen?

    Hach, Fragen über Fragen. Ich bin total begeistert vom Programmieren, also helft mir bitte tatkräftig :)

    Danke
    Eure Steffi
     
  2. Steffy

    Steffy Kbyte

    Schon kapiert, schon kapiert. Auf die Idee mit dem Array muß man ja auch erst mal kommen ... :-) ich hab mich bei den Datenbankbefehlen alt und dämlich gesucht ...

    Vielen Dank, hast mir sehr geholfen!

    Bye
    Steffi
     
  3. kalweit

    kalweit Hüter der Glaskugel

    Also aus der Theorie würde ich das per Rekursion lösen (in der Praxis benutz ich das eher selten, weil ist mit irgendwie suspekt ;) ) - Also du brauchst in deiner Tabelle eine 3. Spalte. Diese muss die Nummer des Eintrages einer Ebene höher erhalten unter der Eintrag selbst steht:

    1 | Software | leer
    2 | Freeware | 1
    3 | Shareware | 1
    4 | Büro | 2
    5 | Spiele | 3
    6 | Office | 4

    ergibt:

    Software
    ...Freeware
    ......Büro
    .........Office
    ...Shareware
    ......Spiele

    Zur Ausgabe musst du den Inhalt der ganzen Tabelle in ein Array lesen und dann entsprechend rekursiv abarbeiten (da die Datenbank das per Abfrage nicht kann).

    Zu Grundverständnis schau dir mal das an: http://selfaktuell.teamone.de/artikel/phpasp/php-forum/index.htm
    geht zwar um ein Forum, aber Sachverhalt ist der Gleiche.

    Gruss, Matthias
     
  4. Steffy

    Steffy Kbyte

    Hallo,

    hihi, das meinte ich ja nicht. :-) Hab\' mich leider etwas unklar ausgedrückt. Ich meinte "Tables" von SQL, keine "<table>".

    Was ich brauche, ist eine Idee, wie ich eine Datenstruktur entwerfe, um mindestens EINE Ebene, bei Bedarf aber auch beliebig viele Ebenen in der Tabelle links abzubilden. Das Ganze mache ich dann in der Tat über mit CSS formatierte Listen.

    Also meine Datenbank sieht in etwa so aus: "ID int not null auto_increment primary key, category int, title tinytext, article text".

    in "category" speichere ich die entity, die in einer anderen TABLE auf eine Kategorie verweist. Also etwa "1", und in der TABLE "Categories" steht dann
    CAT | LookUp (Text)
    1 | "Über mich"

    Ich will aber auch die Möglichkeit haben, statt einer direkten Kategorie eine Subkategorie (und darunter bei Belieben wieder eine und noch eine) anzugeben. DAS meinte ich mit Verschachtelung.

    Kannst Du mir da vielleicht noch helfen?

    Vielen Dank
    Steffi

    Kleine Ergänzung: ich habe mich vielleicht schon wieder etwas unklar ausgedrückt :-) also, bildlich gesprochen soll das so aussehen: ich klicke auf eine Kategorie. Dann klappt sie beim Reload des Dokumentes auf, und präsentiert die enthaltenen Sachen, wie ein Folder eben. Das können Dokumente, oder neue Kategorien sein. Klicke ich auf selbige, klappen diese ebenfalls auf, und können Dokumente oder Folder enthalten ...
    [Diese Nachricht wurde von Steffy am 06.08.2003 | 14:10 geändert.]
     
  5. kalweit

    kalweit Hüter der Glaskugel

    > Dumm ist ja, dass ich Tabellen nicht ineinander verschachteln kann

    Warum nicht? Das einzige Problem das ich sehe ist, dass sich spätestens ab der 20. Ebene der NS4 in die ewigen Jagdgründe verabschiedet.

    Gruss, Matthias

    PS:

    <table>
    <tr><td>bla
    <table><tr><td>blablub</td></tr></table>
    </td></tr></table>

    ...natürlich sind per css formatierte Listen eleganter und entschieden ressourcenschonender.
     
  6. Steffy

    Steffy Kbyte

    Huhu!

    Erstmal danke für Euer Mega-Feedback, hat mich echt gefreut ;-)

    Jetzt habe ich ein neues Problem: ich will ja in der linken Spalte ein Menü in PHP programmieren. Und zwar soll das so aussehen: bei Aufruf der Seite stehen die ganzen Hauptkategorien da, z.b. Kategorie1, Kategorie2, ...

    Klickt der User jetzt auf eine Kategorie, wird selbiger Wert übergeben (...index.php?category=2), und die Kategorie klappt auf und präsentiert die Unterkategorien.

    So weit, so gut, das klappt auch schon recht gut. Jetzt will ich das Ganze aber ineinander verschachteln, sodaß ich praktisch beliebig viele Unterkategorien angeben kann : (...index.php?category=2&subcategory=4&subsubcategory=1 ...)

    Das Ganze soll natürlich programmiertechnisch ordentlich gelöst werden. Wie sollte man hier vorgehen? Dumm ist ja, dass ich Tabellen nicht ineinander verschachteln kann. Oder habe ich da was übersehen?

    Viele Grüße
    Steffi
     
  7. Bigfoot 2002

    Bigfoot 2002 Megabyte

    Ja ich weiß, aber das liest doch eh keiner :-D
     
  8. Bigfoot 2002

    Bigfoot 2002 Megabyte

    Schau dir mal auf http://de.php.net/manual/de/function.readdir.php das zweite Beispiel an. Wenn du dann, falls nötig, noch einen regulären Ausdruck verwendest um die Fotos zu erkennen kannst du ja wenn der Dateiname stimmt einen Zähler hochzählen.
     
  9. Bigfoot 2002

    Bigfoot 2002 Megabyte

    Wenn man den Text liest muss man immer wieder weitere Seiten laden. Das stört schon mal beim Lesen, weil man immer wieder aus dem Text "rausgerissen" wird. Hinzu kommen die störenden Ladezeiten. Wenn es auf einer Seite wäre, könnte man mit dem Lesen anfangen während der Rest noch geladen wird. Bei einer Unterteilung muss man immer wieder erneut warten, bis man wieder was zu lesen hat. Dann verursacht es auch noch zusätzlichen Traffic (sowohl client- als auch serverseitig), da ja auch jedesmal das ganze Seitenlayout erneut übertragen wird und nicht nur der reine Text. Die Serverbelastung steigt auch. Und abspeichern oder ausdrucken wird auch recht umständlich.
     
  10. Steffy

    Steffy Kbyte

    Warum nicht? Dient ja nur der Übersichtlichkeit, und der Anwender soll die Möglichkeit haben, sozusagen "in Kapiteln" rumzuspringen. Klar, könnte er auch mit "#"-Tags, aber was spräche denn noch dagegen?
     
  11. Steffy

    Steffy Kbyte

    Okay, danke. Gibt es eigentlich ne Möglichkeit, ein Fotoalbum in PHP zu realisieren? Sprich: ich habe ne Menge Fotos, die alle "FOTO001.jpg", "FOTO002.jpg" ... usw. benannt sind - wie kann ich mit PHP feststellen, wieviele Fotos insgesamt vorhanden sind?
     
  12. Bigfoot 2002

    Bigfoot 2002 Megabyte

    Ich würde die Artikel nicht auf mehrere Seiten verteilen.
     
  13. Marcelo

    Marcelo Kbyte

    Also Artikel in die MYSQL-Datenbank und Bilder als Dateien auf dem Server. Die Bilder würde ich so nennen:
    <artikelid>_<bildnummer>.jpg
    Den virtuellen Seitenumbruch würd ich auch so machen, denn einzelne Seiten abzuspeicher wäre blöd, weil das ändern dann zu umständlich wäre.

    MFG
    Marcelo
     
Thread Status:
Not open for further replies.

Share This Page