2017-06-01 1 views
0

Übersicht:SQL - WooCommerce/Wordpress - Abfrage zur Liste aller Produkte IDs eine bestimmte HTML-Zeichenfolge enthält, innerhalb Produktbeschreibung liegt

ich suche mit über 2000 Produkten ein Plugin aus meinem Online-WooCommerce Speicher zu entfernen. Dieses Plugin erforderte das Einfügen von HTML-Tags (z. B. [table][/table]) in WooCommerce-Produktbeschreibungen. Da ich das Plugin entfernen werde, werden die Tags nicht mehr funktionieren und die Orte, an denen diese Tags existieren, sind kaputt. Ich weiß nicht, welche Produkte diese Tags haben oder nicht, daher versuche ich eine SQL-Abfrage in phpMyAdmin auszuführen, um festzustellen, welche Produkte betroffen sind.

Problem:

Unten ist die MySQL-Abfrage, die ich von this Stack Overflow question erhalten habe, die alle Produkte mit einem specificed Tag zeigt - das ist ganz in der Nähe meines Problem zu lösen, aber das ist nicht die Abfrage ich, weil diese benötigen ist das Tag, das sich auf die term_taxonomy.taxonomy = 'product_tag' bezieht und keine HTML-Tags innerhalb von Produktbeschreibungen.

SELECT posts.ID AS product_id, 
     posts.post_title AS product_title 
FROM wp_posts AS posts, 
    wp_terms AS terms, 
    wp_term_relationships AS term_relationships, 
    wp_term_taxonomy AS term_taxonomy 
WHERE term_relationships.object_id = posts.ID 
    AND term_taxonomy.term_id = terms.term_id 
    AND term_taxonomy.term_taxonomy_id = term_relationships.term_taxonomy_id 
    AND posts.post_type = 'product' 
    AND posts.post_status = 'publish' 
    AND term_taxonomy.taxonomy = 'product_tag' 
    AND terms.slug = 'my-tag-1'; 

Gewünschtes Ergebnis:

Optimal würde Ich mag eine Liste aller Produkte IDs habe mit diesem HTML-Tag </table> innerhalb der Produktbeschreibung, Kurzbeschreibung und weiteren Produkt Registerkarten, falls vorhanden.

Ihre Hilfe und Beratung ist dankbar, danke.

Antwort

0

auf Ihre vorhandene Abfrage, fügen Sie Dinge wie diese:

and 
(product_description like '%</table>%' 
or 
short_description like '%</table>%' 
etc 
) 
+0

Hallo - ja, das scheint die richtige Lösung zu sein, aber kennen Sie die richtige Terminologie für die 'product.description'? SQL-Abfrage gibt diesen Fehler zurück: '# 1054 - Unbekannte Spalte 'product.description' in 'Where-Klausel' ' – Bluetower

+0

Die Namen von Tabellen und Feldern sind etwas, was Sie wissen sollten. Ein schneller Weg, das herauszufinden, ist, '* aus Ihrer Tabelle auszuwählen, wobei 1 = 2' ist und die Spaltenüberschriften zu lesen. –

+0

Ich habe es herausgefunden. Danke für deine Hilfe Dan. – Bluetower

0

Dies ist die folgende SQL-Abfrage, die meine Frage löst:

SELECT posts.ID AS product_id, 
     posts.post_title AS product_title 
FROM wp_posts AS posts, 
    wp_terms AS terms, 
    wp_term_relationships AS term_relationships, 
    wp_term_taxonomy AS term_taxonomy 
WHERE term_relationships.object_id = posts.ID 
    AND term_taxonomy.term_id = terms.term_id 
    AND term_taxonomy.term_taxonomy_id = term_relationships.term_taxonomy_id 
    AND posts.post_type = 'product' 
    AND posts.post_status = 'publish' 
    AND posts.post_content LIKE '%</mytag>%' 

Dank Dan für die Hilfe!

Verwandte Themen