Weiss jemand, wie ich einfach und bequem sämtliche inaktiven Artikel, inkl. Bilder , Attributen usw. löschen kann(will den Shop mal "aufräumen" von alten Artikelleichen, ohne dass ich jeden einzelnen raussuchen muss? Gruss Roland
Zuerst einmal eine Grundsatzfrage: Was ist für dich eine Leiche? Artikel ohne Bestand, inaktive Artikel o.ä.? In folg. Ausführung nehme ich an, dass inaktive Artikel gemeint sind. Da die Bilder als physikalische Files auf dem Server liegen, wirste das direkt über die DB bzw. per Abfrage nicht hinbekommen. Ohne die Bilder zu löschen kannste so versuchen, die eigentliche Artikeldaten zu löschen: Zuerst die Tabelle `products` in `products2` kopieren. Danach Code: DELETE FROM `XXX` WHERE `products_id` = ANY(SELECT products_id FROM `products2` WHERE `products_status` = 0) `XXX` sind dabei die betroffenen Tabellen, die du nacheinander abarbeiten musst. Als letzte Tabelle die `products` angehen, sonst fehlt deine Referenztabelle für die weiteren DELETEs. Welche Tabellen du einfügen musst findest du wie im angehängten Bild gezeigt raus. Die Funktion findest du phpmyadmin unter "Suche". Da ich selbst keine Eigenschaften nutze, musst du wohl die Verknüpfungen für die DELETEs der Attribut-Tabellen selbst herstellen. Ich tippe auf die Tabellen `products_attributes`, `products_options`, `products_options_values` und `products_options_values_to_products_options`. Einfach nur analog o.g. Abfrage entsprechend umschreiben. Vonder Vorgehensweise würde ich zuerst die Eigenschaften löschen, bevor ich an die eigentlichen Artikeldaten gehe. Vorher bitte Backup der DB! Zu Bedenken ist dabei, dass auch Artikel gelöscht werden können, die irgendwann vllt. mal von Kunden bestellt worden sind. Demnach fehlen diese Artikel dann in der Historie - sowohl im Backend als auch im Kundenaccount. Um diese Artikel beim DELETE auszuschließen, könnte folg. funzen (ungetestet!) Code: DELETE FROM `XXX` WHERE `products_id` = ANY(SELECT products_id FROM `products` WHERE `products_status` = 0) AND `products_id` NOT IN (SELECT `products_id` FROM `orders_products`) Das Löschen direkt über die DB ist also mit Vorsicht zu genießen. Ich mache das eigentlich nur in der Testumgebung.
Soweit schön erklärt. Aber wie kriegt man es hin die Bilder zu löschen. Ich denke das diese Frage einige beschäftigt. Nehmen wir es so: Mann betreibt einen Onlineshop und benutzt eine Wawi die soweit alles Pflegt bis auf die Bilder vom Server zu entfernen nachdem die Produkte inaktiv werden. Nach und nach werden die "Folder" immer grösser (Popup Bilder, Tumbnail, Infobilder, OriginalBilder). Es kommen immer neue Bilder hinzu aber die inaktiven (Leichen) werden nicht behandelt. Jetzt muss eine Lösung her. Per SQL wäre es eigentlich am besten per irgendeinen Befehl die Bilder zu grupieren und danach löschen zu können.Wenn das nicht geht wie dann??? Irgendeine Lösung muss es geben. Wegen Artikel selbst kennen wir die Lösung aber wie machen wir es mit sollchen Bilder. Über einen Tipp wären wir sehr dankbar..
Damit kannst Du die meisten Bilder auch aufräumen (nur die Originale nicht) (Link nur für registrierte Nutzer sichtbar.)
Ich bedanke mich für die schnelle Hilfestellung. Habe das Modul GX2 Bilderpflege installiert und versucht aufzurufen. Leider bekomme Ich, nachdem Ich versuche die Bilder zu ermitteln relativ zugig die folgende meldung: ........................................................................................................................................................................ Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster@shop-mln.de and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. ................................................................................................................................................................................. Ich befürchte das das Script zu schnell aufgibt, warum auch immer ..??? Die Methode von Barabara habe Ich noch nicht unter die Luppe genommen werde auch gleich versuchen. Aber das mit den Modul scheint mir bessere Methode zu sein( wenn es funktionieren sollte)
Nicht das Script sondern dein Server gibt zu schnell auf Wenn möglich mal schauen was für eine Laufzeit PHP Scripte bei dir haben. Empfehlung ist 60 sec. viele Billig Webspaces haben nur 10-20 sek.
Ich vermute das Ich hierbei nicht machen kann. Besitze zwar einen Rootserver aber momental wird der Shop "Shared" gehostet. Umzug ??? Oh mann....Gibt es da eine andere möglichkeit ???