photo eigenschaften auslesen
Moses
- datenbank
Hallo,
arbeite mit MySql (4 irgendwas) und Php (5 irgendwas).
Habe in der Datenbank eine Tabelle für Photos eingerichtet in der der Photoname "1234.jpg", Text für alt="" und das Datum des Photos gespeichert wird. Das Photo selber liegt auf dem Server im Photoverzeichnis und bei der Ausgabe wird auf das Verzeichnis verwiesen.
Frage ist es möglich zum Beispiel alle Querformat-Photos auszuwählen wenn in der Datenbank kein Verweis auf das Format (also keine Größenangabe oder format="hoch/quer") angegeben ist? Wenn ja, wie?
Oder habt ihr eine andere Idee (ohne die Datenbanktabelle zu ändern) wie man zufällig vier Querformat Photos aus der DB auswählt
"select photo from photo order by rand() limit 4";
bringt mir ja einfach 4 Photos egal ob Hoch o. Querformat. Natürlich kann ich nun testen welches Format das jeweilig Photo hat, und mir dann überlegen ob ich es ausgeben will oder überspringe - aber wenn ich genau 4 Querformat haben will, muß ich ja im Prinzip die ganze Tabelle auswählen da ja durch das order by rand() es druchaus passieren könnte, daß alle Hochformat zuerst ausgewählt werden. Nachdem aber ziemlich viele Photos in der DB gespeichert werden würde Abfrage und Format-Test eine lange Zeit dauern und es ist ja ineffektiv 20. - 30.000 Datensätze zu durchsuchen wenn man nur 4 braucht.
ALso mir is tbisher nichts vernünftiges eingefallen, außer in der Tabelle einen Verweis auf das Format zu speichern - allerdings müßte man dann zig tausend Photos anschauen um zu sehen was es nun ist - und das sollte vermieden werden.
Danke und Grüße,
Moses
Hallo Moses,
Frage ist es möglich zum Beispiel alle Querformat-Photos auszuwählen wenn in der Datenbank kein Verweis auf das Format (also keine Größenangabe oder format="hoch/quer") angegeben ist? Wenn ja, wie?
Oder habt ihr eine andere Idee (ohne die Datenbanktabelle zu ändern) wie man zufällig vier Querformat Photos aus der DB auswählt
schreibe zunächst in der Programmiersprache Deiner Wahl ein Skript/Programm, das
für jedes Bild ermittelt, in welchem Format es vorliegt und schreibe diese
Information in eine dafür vorzusehende Spalte.
Danach kannst Du nach Belieben selektieren.
Freundliche Grüße
Vinzenz
Frage ist es möglich zum Beispiel alle Querformat-Photos auszuwählen wenn in der Datenbank kein Verweis auf das Format (also keine Größenangabe oder format="hoch/quer") angegeben ist? Wenn ja, wie?
Sowas ist nach meiner Kenntnis nicht möglich!
ALso mir is tbisher nichts vernünftiges eingefallen, außer in der Tabelle einen Verweis auf das Format zu speichern - allerdings müßte man dann zig tausend Photos anschauen um zu sehen was es nun ist - und das sollte vermieden werden.
Also mit PHP würde ich das mit einen kleinem Skript lösen.
Jedes Bild einmal öffnen und die Informationen auslesen die ich brauche. Diese Infos kann ich dann in der Tabelle schreiben.
Da du ca. 30.000 Bilder hast kann man das wunderbar mit einer Schleife alles lösen. Allerdings würde ich immer nur eine bestimmte Anzahl an Bilder auslesen lassen da du sonst den Timeout von deinem Server ernten wirst.
Das skript zu schreiben sollte recht schnell gehen.
Und die neuen Bilder kann man ja dann gleich auslesen und in die DB Speichern.
Also mit PHP würde ich das mit einen kleinem Skript lösen.
Jedes Bild einmal öffnen und die Informationen auslesen die ich brauche. Diese Infos kann ich dann in der Tabelle schreiben.
Das skript zu schreiben sollte recht schnell gehen.
Und die neuen Bilder kann man ja dann gleich auslesen und in die DB Speichern.
Ja, das habe ich jetzt auch so gemacht!
Danke