![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| n00b -.- Registriert seit: 10.11.2005
Beiträge: 318
|
Moin ich habe mir jetzt mal einen Sammelthread aufgemacht, in dem ich alle Fragen bezüglich der Entwicklung meines Newssystems auftreten werden, einstellen werde... Sonst sinds nacher Unmengen an später nutzlosen Threads... Also, nach 3 Tagen gestrengtem Nachdenken und programmieren habe ich die größten Teile meines "selbstentwickelten" (<- damikt ist gemeint, das ich nirgendwo abgeschreiben habe Es geht um die Kommentarfunktion für die einzelnen News... Ich brauche ja quasi ein Gästebuch für jede News. Gut, da kann ich eine Datei schreiben, die nur die Kommentare aus der DB lädt, für die eine bestimmt Bedingung zutrifft, dann muss ich nur eine Datei für das Gästebuch schreiben... Jetzt ist mein Problem: Wie konzipiere ich die Tabelle mit den News und mache ich eine eindeutige Kennzeichnung der einzelnen Datensätze (Kommentare), an denen mein Script erkennen kann, welche Kommentare zu welcher News gehören? Vll ein Extrafeld in der Kommenartabelle, in der ich die ID der News angebe? Ist auch blöd... Dann werden die Datensätze ja so rein geschrieben, wie sie verfasst werden und in der Tabelle geht jegliche Ordnung hopps... Naja ihr seht, mir magelst nur an einem Denkstanstoß, proggen will ich selber... So long Bookworm P.S. Ich hätte auch noch eine Frage bzgl. BBCodes... Aber die stell ich erstmal zurück *g*
__________________ Alle wollen doch nur mein Bestes. Aber sie werden es nicht kriegen! |
| | |
| | Nach oben #2 | |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
| Zitat:
Oder: du erweiterst deine Tabelle der News einfach mit einer Spalte "Parent_ID" oder "News_ID" und legst fest: Wenn Parent_ID == 0, dann ist es ein Newseintrag, ansonsten ist es ein Kommentar für die News mit der ID = Parent_ID. Die optische "Unordnung" in einer Tabelle ist eh sowas von Banane... du arbeitest mit Abfragen und nur die Abfragen bringen "Ordnung" in deine Tabelle. Was und wie genau da drinsteht und ob die Sortierung richtig ist, sollte dir sowas von egal sein...
__________________ I did it my way - Senseless-Blog | |
| | |
| | Nach oben #3 |
| n00b -.- Registriert seit: 10.11.2005
Beiträge: 318
|
Jo das Problem besteht darin, wenn jemand mal auf gut Deutsch Scheiße reinschreibt, muss ich ewig suchen bis ich den Beitrag in der Tabelle löschen kann... Aber gut, ich werd mal probieren, das zu realisieren. Aber ich machs mit dem Titel der News...
__________________ Alle wollen doch nur mein Bestes. Aber sie werden es nicht kriegen! |
| | |
| | Nach oben #4 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
Normalerweise würde ich dir einfach ein implementiertes ACP vorschlagen. Sprich bist du eingeloggt und hast Rechte, dann biete Löschaktion an. Fertig ist, nix mit Suchen in der DB. Außerdem kannst du selbst in PHPMyAdmin die ID der News rausfiltern und dir nur deren Einträge anzeigen lassen. Das sollte die Suche ebenfalls erheblich reduzieren, falls du auf ein ACP in dem Sinne verzichten möchtest.
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #5 |
| n00b -.- Registriert seit: 10.11.2005
Beiträge: 318
|
nein auf das acp verzichte ich nicht, aber das progge ich zum schluss... aber gute idee, auch funktionen bzgl. der kommentare dort einzubinden //edit: es funktioniert! zwar noch nicht perfekt, aber es funktioniert wenigstens! //edit2: Öhm ja, es gäbe da noch ein Problem: Guckt euch das hier mal an. Ihr Seht ja, das die Quelle und der Link zu den Kommentaren sehr nah beieinander stehen... Ich hätte aber gerne, das die Quelle linksbündig und der Kommentarlink rechtsbündig angezeigt werden. Dummerweise springen die Links aber nicht auf Zeug wie style="text-align: right" o.ä. an... Für Hilfe wäre ich sehr dankbar!
__________________ Alle wollen doch nur mein Bestes. Aber sie werden es nicht kriegen! Geändert von Bookworm (06.06.2006 um 15:06 Uhr). |
| | |
| | Nach oben #6 |
| Lutz Registriert seit: 14.08.2005 Ort: Nienburg / Weser
Beiträge: 684
|
Ich weiß, ich weiß, ich bin der Normalform-Reiter schlechthin ABER: Ich würde es so machen, dass du eine Tabelle hast, in der deine News stehen. So, damit hast du die News schonmal abgehakt. Als nächstes erstellst du eine Tabelle, in der die Kommentare gespeichert werden. Neben der fortlaufenden ID, anhand derer du jeden Beitrag nachher direkt wiederfinden kannst in der Tabelle, kommt ein Fremdschlüssel auf die ID der News, zu der der Kommentar ist. Fertig. Das ist chic, schnell, einfach und entspricht der Normalform im Bezug auf redundante Datensätze. Ebenso würde ich davon abraten den news-Titel als Schlüssel für Kommentare zu nutzen, man nutzt als Schlüssel ausschließlich Zahlenwerte, die letztlich ein Synonym für den Datensatz darstellen, denn wenn du dich einmal vertippt hast im Titel, es kommen 15 Kommentare dazu und du änderst den Titel, musst du den in allen 16 Datensätzen ändern oder du hast dann nach der Umbenennung keine Kommentare mehr zu den News (angeblich). Außerdem müsstest du darauf achten, den selben Titel nich nochmal zu verwenden und das ist doch mal doof ^^ In PHP MyAdmin kannst du die Erweiterung für "Relations" nutzen, damit kannst du dann den Fremdschlüssel der Kommentar-Tabelle mit dem PK der News-Tabelle verknüpfen und kannst dann beim Editieren der Kommentare einfach über ein Drop-Down-Feld die News auswählen, sollte das notwendig sein und deine Intention geprägt haben.
__________________ Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
| | |
| | Nach oben #7 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
Da die Tabellen für News und Kommentare identisch sind (bis auf Fremdschlüssel), kann man sie auch zu einer zusammenfassen. Man kann sich auch durch Normalisierung die Performance versauen (wie in dem Fall). Es macht für ihn einen Unterschied, ob er eine Tabelle scannen muss oder 2. Wichtig ist aber, dass ein Index über den Fremdschlüssel gelegt wird. Und das Schlüssel immer Zahlenwerte sind, ist selbstredend.
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #8 |
| n00b -.- Registriert seit: 10.11.2005
Beiträge: 318
|
Ok, in der Annahme, das ich verstanden habe, was ein Fremdschlüssel ist (Wikipedia), Frage ich euch: Wie mach ich das? Einfach noch ein Feld, das ich mit auto_increment vollmache, so wie id? Das hätte doch wenig Sinn, da kann ich auch gleich die ID nehmen... Warum eigentlich nicht? Ich öffne meine Kommentardatei eh mit einer GET Variablen, in der ich den Titel (oder auch die ID, ist ja np) übergebe und auf deren Basis das Script funktioniert... Ansonsten, wie stehts wegen meiner anderen Frage?
__________________ Alle wollen doch nur mein Bestes. Aber sie werden es nicht kriegen! |
| | |
| | Nach oben #9 |
| n00b -.- Registriert seit: 10.11.2005
Beiträge: 318
|
Noch ne andere Frage: Mit der folgenden Abfrage will ich verhindern, das Unbefugte auf meinem Benutzernamen Kommentare verfassen. Ist diese Abfrage dafür sicher genug? PHP-Code:
__________________ Alle wollen doch nur mein Bestes. Aber sie werden es nicht kriegen! |
| | |
| | Nach oben #10 |
| Christian Mühlroth Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
|
Grundsätzlich, ja. Etwas unlogisch ist allerdings die 2te If-Abfrage, denn bei der ersten lässt du dein Script ja schon beenden falls das Passwort leer ist. Ansonsten - es muss $name == 'Bookworm' heißen, mit Anführungszeichen.
__________________ http://www.ChrisDiary.De |
| | |
| | Nach oben #12 | |
| Christian Mühlroth Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
| Zitat:
__________________ http://www.ChrisDiary.De | |
| | |
| | Nach oben #15 | |||
| Lutz Registriert seit: 14.08.2005 Ort: Nienburg / Weser
Beiträge: 684
| Zitat:
Zitat:
Natürlich wirkt sich das erst bei zigtausend Datensätzen aus, sprich: Bei einer Seite mit 20 News und 20 Kommentaren / News wird man da keinen Unterschied der beiden Systeme feststellen können. Wenn man Schlüssel benutzt ist es wahrscheinlich sogar bei riesigen Datenbanken eher unwahrscheinlich, dass die beiden sich in der Performance groß unterscheiden (außer, dass ich davon ausgehe, dass eine News-Tabelle ohne 20 Millionen Kommentaren deutlich performanter sein sollte, als eine mit). Fazit: Die Geschwindigkeit macht hier wohl kaum ein Problem und logischer wäre es allemal, diese Informationen selbst bei gleicher Tabellenstruktur zu trennen und in 2 seperaten Tabellen abzuspeichern. Zitat:
__________________ Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll | |||
| | |
| | Nach oben #16 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
Fremdschlüssel ist nur ein Feld einer Tabelle, in der der Primärschlüssel einer anderen Datei eingefügt wird. So könntest du anhand eines Fremdschlüssels (namens News_ID) in der Kommentartabelle feststellen, zu welcher News welcher Kommentar gehört. @MrNiceGuy: Ich kann deiner Argumentation bedingungslos folgen, dennoch kann man ohne Performanceverlust diese 2 Tabellen zusammenfassen. Schließlich hat jedes halbwegs normale Newssystem eine Archivierung
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #18 |
| n00b -.- Registriert seit: 10.11.2005
Beiträge: 318
|
Ich lass die beieden Tabellen sicher wie sie sind... Ich werde also jetzt als Fnoch ein Feld in meiner Kommentartabelle einrichten in der ich die ID der News speichere? Okay... Ansonsten steht immer noch die Frage mit der Links- und Rechtsbündigkeit im Raum, deren Antwort ich immer noch suche... Gruß Booki
__________________ Alle wollen doch nur mein Bestes. Aber sie werden es nicht kriegen! |
| | |
| | Nach oben #19 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
arbeite mit divs und dem css-befehler float:left oder float:right
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #20 |
| n00b -.- Registriert seit: 10.11.2005
Beiträge: 318
|
Wegen einem Wort einen ganzen div aufmachen? naja ich werds mal antesten Die Umstellung auf zahl als Fremdschlüssel hat im übrigen hervorragen geklappt
__________________ Alle wollen doch nur mein Bestes. Aber sie werden es nicht kriegen! |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Fragen zur effektiven Nutzung von Subversion | Ben | Tools, Server, Betriebssysteme | 6 | 30.05.2007 20:43 |
| Fragen und Hilfestellungen zu Tutorials gehören in die Fachforen | Ben | Ankündigungen | 0 | 12.02.2007 11:56 |
| Fragen zu Webprojekt | Mirod | Plauderecke | 10 | 03.11.2006 22:02 |
| Fragen zur Anmeldung bei www.theserverside.com | Ben | Plauderecke | 0 | 13.09.2006 21:57 |
| [Politik] 30 Fragen zu div. Themen | Jann Hendrik | Plauderecke | 21 | 06.09.2005 11:47 |