php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.09.2011, 02:53  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von laszlokorte Beitrag anzeigen
Ich habe eine Baum-Struktur (Kategorien und Unterkategorien mit beliebiger Tiefe und auf unterste Ebene Items, also wie so eine Forumkategorien/Threads-Struktur). Die Daten liegen aber nicht wirklich in einer rekursiven Baumstruktur vor
Erstens: Warum nicht?,
und zweitens: Dann scheint mir irgendeine Art von Diff-Alogrithmus schon von vornherein das falsche Werkzeug für dein Vorhaben zu sein.

Zitat:
Ich will jetzt also sehen können:
- Welcher Thread und welche Kategorie wurde seit dem 1.9.2011 erstellt?
Speichere das Erstellungsdatum.
Zitat:
- Welche Threads wurden seit dem gelöscht?
Lösche keine Datensätze, sondern setze ein Löschkennzeichen und -datum.
Zitat:
- Welche Threads wurden verschoben? Von wo? Wohin?
Kennzeichne einen Thread als verschoben, und speichere dir die neue Position.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.09.2011, 03:29  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Diese Threads und Kategorien können nun hin und her geschoben werden.
Definiere „geschoben“. Wenn es dabei tatsächlich um D'n'D ginge, wäre ja ein einfaches Logging zielführend.
Zitat:
Der Diff wäre nicht sehr brauchbar, wenn er mir die ganzen Kategorien und Threads als gelöscht und neu erstellt anzeigen würde, nur weil ich Thread3 an den Anfang von Kategorie1.1 verschiebe.
Mit Verlaub - wenn ich von 1) nach 2) den Punkt B lösche und von 2) nach 3) den Punkt B woanders einfüge (oder sogar an Position 2), dann ergibt der Vergleich von 1) und 3) nunmal keine Unterscheidungsmöglichkeit.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 05.09.2011, 03:47  
Neuer Benutzer
 
Registriert seit: 05.03.2011
Beiträge: 16
PHP-Kenntnisse:
Fortgeschritten
laszlokorte befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Erstens: Warum nicht?,
und zweitens: Dann scheint mir irgendeine Art von Diff-Alogrithmus schon von vornherein das falsche Werkzeug für dein Vorhaben zu sein.
Für den Rest der Anwendung sind die Daten in diesem Format um einiges einfacher und Performanter zu Handhaben. Die meisten Aktionen in der Anwendung lassen sich so mit einem einfach push, pop, slice und concat sehr sehr einfach lösen. Anyway... Ich habe jetzt jedenfalls diese Zeilen und will einen möglichst hilfreichen Diff erzeugen. Was schlägst du sonst vor?

Zitat:
Speichere das Erstellungsdatum.
Ok, das war etwas falsch ausgedrückt. Ich habe in er Datenbank verschiedene Versionen und möchte nun eine Version vom 1.9.2011 mit der heutigen Version vergleichen.

Zitat:
Kennzeichne einen Thread als verschoben, und speichere dir die neue Position.
Die Daten werden sehr oft und viel verschoben. Sprich je nachdem mit welcher alten Version ich vergleiche hat ein Datensatz verschiedene "alte" Positionen und die können nicht alle immer mitgeschleppt werden. Besonders nicht, weil ich die gesamte Struktur selbst ja schon versioniert ablege.

Trotzdem schonmal vielen Dank euch allen für die Hilfe.

Zitat:
Lösche keine Datensätze, sondern setze ein Löschkennzeichen und -datum.
Nur die gelöschten Datensätze zu tracken ist ja nicht mal das Problem, denn die sind in der alten Version ja tatsächlich noch vorhanden, sodass ich sie einfach wieder entsprechend markiert anzeigen kann. Ich lösche sie zwar innerhalb der einen Struktur, aber eben nicht komplett, da sie in der anderen noch da sind.

Zitat:
Mit Verlaub - wenn ich von 1) nach 2) den Punkt B lösche und von 2) nach 3) den Punkt B woanders einfüge (oder sogar an Position 2), dann ergibt der Vergleich von 1) und 3) nunmal keine Unterscheidungsmöglichkeit.
Wie gesagt sind die IDs eindeutig. Sprich wenn Objekt5 gelöscht wurde, kann Objekt5 nirgendwo mehr eingefügt werden, weil es gar nicht mehr erzeugt werden kann. Wenn du ein neues Objekt irgendwo einfügst bekommt es per AutoIncrement mindestens ID6 und ist damit, auch wenn es an der gleichen Position wie vorher Objekt5 ist, eindeutig als neu zu erkennen und Objekt5 ist, sobald es nicht mehr da ist, als gelöscht zu erkennen.

Zitat:
Definiere „geschoben“. Wenn es dabei tatsächlich um D'n'D ginge, wäre ja ein einfaches Logging zielführend.
geschoben = mit pfeil auf/ab schrittweise nach oben und unten bewegt. Es liesse sich da vllt tatsächlich ein Logging einbauen, allerdings findet der Speichervorang nicht nach jedem Schritt statt. Wenn ich einen Datensatz um 5 nach oben schiebe, wären des 5 Schritte die getrennt voneinander und nacheinander durchgeführt werden. Ich könnte auch ein Datensatz um 3 nach oben, dann ein anderen um 2 nach unten und dann den ersteren noch mal um 2 nach oben schieben und dann speichern. Im Diff soll dann natürlich nur die Summe der Aktionen aufgezeigt werden: Der eine wurde um 5 nach oben Bewegt, der andere um 2 nach unten.

Die IDs sind halt wirklich _eindeutig_. Daher bin ich eigentlich davon ausgegangen, dass das ganze nicht so mega kompliziert wird.

Geändert von laszlokorte (05.09.2011 um 04:20 Uhr).
laszlokorte ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Cannot use object of type mysqli_result as array Mynoriem PHP Einsteiger 5 18.07.2011 16:20
Feed in Datenbank eintragen (Formate: json, php serialized, xml) high_five Datenbanken 5 17.06.2010 03:04
[Erledigt] Problem bei update mit array feldern fulltilt PHP Tipps 2010 6 13.02.2010 00:59
PHPLot von der Datenbank zum mehrdimensionalen Array mannimammut PHP Tipps 2009 1 15.12.2009 10:40
[Erledigt] Tabellen die sich selbst referenzieren Squall PHP Tipps 2009 19 04.08.2009 21:33
Object as Array micbur PHP Tipps 2008 10 04.08.2009 09:46
[Erledigt] array sortieren PHP Tipps 2004 17 13.05.2009 10:44
XAMP gehts, auf realer server nicht: Fehler: Cannot use object of type ... as array mysteryxxx PHP-Fortgeschrittene 4 03.08.2008 18:08
Soapfault: Undefined Property Argi PHP-Fortgeschrittene 0 28.07.2008 11:17
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:29 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum