Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 5%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 392 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Baxter

Grünschnabel

Dabei seit: 09.08.2005

Beiträge: 1

 

1 Zum Seitenanfang

Dienstag, 9. August 2005, 13:38

Abfrage bzw. abgleich vereinfachen

Hallo Leute,

ich scheitere gerade an meinem Wissen bzw. Verständnis und hoffe auf Erleuchtung... ?(

Folgendes soll passieren:

Ein Ordner enthält beliebige Dateien.
Diese sollen alle in die MySQL-Datenbank eingetragen werden.
Kriterien:
Name, Größe, Upload-Datum

Soweit kein Problem.

Nun soll beim nächsten Aufruf des Scripts ein Update durchgeführt werden:
- Neue Dateien sollen eingetragen werden
- Veränderte Dateien sollen neu eingetragen werden (neuer Schlüssel), die alten Einträge gelöscht werden
- Gelöschte Dateien sollen aus der Datenbank entfernt werden
- Der Schlüssel der bereits eingetragenen Dateien muß erhalten bleiben.

So ist mein Lösungsweg:

1. Der Ordner wird ausgelesen und drei Arrays ($dateien[x], $groesse[x], $up_datum[x]) werden erstellt

2. Datenbankabfrage (alles wird ausgelesen) und vier Arrays ($db_id[y], db_dateien[y], db_groesse[y], db_up_datum[y]) werden erstellt.

3. Äußere Schleife: When Zähler <= x (Am Ende dieser Schleife natürlich dann Zähler++)

4. Innere Schleife: When Zähler2 <= y (Am Ende dieser Schleife natürlich auch Zähler2++)

5. If-Abfrage, ob Datei[Zähler] + Atribute dem Eintrag[Zähler2] in der Datenbak entspricht, wenn nein Eintrag in die Datenbank speichern

6. Innere Schleife Ende

7. Äußere Schleife Ende

8. Äußere Schleife_2: When Zähler3 <= y (Am Ende dieser Schleife natürlich auch Zähler3++)

9. Innere Schleife_2: When Zähler4 <= x (Am Ende dieser Schleife natürlich auch Zähler4++)

10. If-Abfrage, ob Eintrag[Zähler3] in der Datenbank, der Datei[Zähler4] +Atribute entspricht, wenn nein Eintrag aus der Dateinbank löschen.

11. Innere Schleife_2 Ende

12. Äußere Schleife_2 Ende


Das sollte so ja eigentlich auch funktionieren, hat aber den Nachteil bei vielen Dateien vergleichsweise viele Schleifen zu durchlaufen und meine Frage ist, ob dies nicht auch eleganter zu lösen wäre und wenn ja, dann natürlich wie?

Mein Problem ist, letzlich das mein Wissen in Datenbank-Abfragen und Array-OP´s doch recht bescheiden ist und ich auch nicht so richtig weiß, wonach ich da suchen soll.

Ich hoffe mal, mir kann hier jemand helfen.

Viele Grüße
Baxter

Nachtrag:

Kleiner Nachtrag:

Es ist natürlich unerheblich, dass dieses Script unbedingt beim nächsten Aufruf erfolgen muss oder gar an anderer Stelle etc...


Bitte keine Doppel / Mehrfachpostings!

Bitte benutze die Editierfunktion! mfg Lucius!

Hatte ich übersehen und gelobe Besserung...
Die Normalität wird augenblicklich wiederhergestellt, sobald wir wissen, was eigentlich normal ist. (HGttG)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Baxter« (9. August 2005, 16:32)