Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » Mehrere SELECT Abfragen, danach SET aus Auswahl    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
SandraBeh123
Mitglied
Neuling


Dabei seit: 15.10.2018
Herkunft: keine Angabe
Posts: 1
     Mehrere SELECT Abfragen, danach SET aus Auswahl Zitat | Bearbeiten

Hallo zusammen,

ich bin totale Anfängerin, habe mich gerade hier angemeldet, denn ich brauche Hilfe:

1. Ich kümmere mich um eine Wordpress-Seite mit bestimmmt 5-stelliger Anzahl an Posts,
2. Es existieren Beitragsbilder, für die wir keinen Copyright-Hinweis gesetzt haben,
3. Diese möchte ich nun mittels Datenbankabfrage in den "Entwurfs"-Modus setzen, sodass ich im Hintergrund manuell in Ruhe daran arbeiten kann, um diese zu ersetzen.

Meine Idee: Wie folgt vorgehen:

1. Die Auswahl an Einträgen eingrenzen:

SELECT * FROM wp_posts
WHERE post_content NOT LIKE '%©%'; (-->Alle Posts die kein "©" haben, auswählen)
SELECT * FROM wp_posts
WHERE post_type LIKE 'post'; (-->Alle Einträge die "Post"s sind, anzeigen und keine Seiten)
SELECT * FROM wp_posts
WHERE post_content NOT LIKE 'Bild'; (-->Einträge anzeigen, die nicht das Wort "Bild" enthalten, da wir auch häufig "Bild ist vom XYOwner" verwendet haben, statt dem ©-Zeichen)
SELECT * FROM wp_posts
WHERE post_content NOT LIKE 'rechte'; (-->Ähnliche Anfrage wie die vorherige).

2. Zu letzt (so meine Theorie) würde ich dann alle restlichen/übriggebliebenen vom Wert "publish" auf "draft" setzen, mit

UPDATE wp_posts SET post_status = REPLACE(post_status, "publish", "draft")


WIESO KLAPPT DAS NICHT?
Ich verstehe schon, dass der letzte Befehl (UPDATE...) auf ALLE Beiträge greift, und nicht nur auf die von mir gesuchten.

WAS KANN ICH TUN?

Ich danke euch vielmals, ich habe versucht, alles übersichtlich zu halten, ich hoffe das ist gelungen.



15.10.2018, 10:49 Profil | PM | E-Mail  
Andavos
Administrator
Foren-Gott


Dabei seit: 30.11.2003
Herkunft:
Posts: 6266
      Zitat | Bearbeiten

SQL Abfragen sind jeweils unabhängig, das UPDATE greift nicht mehr auf die Infos deiner vorherigen Infos zurück.

Stattdessen musst du per WHERE das UPDATE entsprechend einschränken:
UPDATE wp_posts SET post_status = REPLACE(post_status, "publish", "draft") WHERE post_type LIKE 'post' AND post_content NOT LIKE '%©%' AND post_content NOT LIKE '%Bild%' AND post_content NOT LIKE '%rechte%';


www.php-einfach.de, PHP lernen leicht gemacht
www.webhosterwissen.de, Webhosting-Vergleich



16.10.2018, 11:42 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » Mehrere SELECT Abfragen, danach SET aus Auswahl   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz