SQL - Extragerea produselor dintr-o anumită categorie dintr-o bază de date WordPress WooCommerce la distanță

23 iul. 2014, 06:47:26
Vizualizări: 16.2K
Voturi: 0

M-am conectat la baza de date și am reușit să extrag datele despre produse. Acum vreau să afișez produse dintr-o categorie specifică. Magazinul folosește WooCommerce. Pagina de destinație este într-o locație diferită, așa că nu pot importa funcțiile WordPress.

Iată ce am reușit să fac până acum:

SELECT ID, `post_date`, `post_title`, `post_content`, `guid` FROM `wp_posts` as post

INNER JOIN wp_term_relationships rs ON rs.object_id = post.ID 
INNER JOIN wp_terms t ON t.term_id = rs.term_taxonomy_id 

WHERE `post_type` = "product"  
AND `post_status` = "publish"     
AND rs.term_taxonomy_id = 117

ORDER BY post_date DESC LIMIT 5

Nu se întâmplă nimic. Dacă elimin AND rs.term_taxonomy_id = 117 funcționează ca înainte. Apare cele mai vechi 5 produse, dar nu produsele din categoria specifică. Ce lipsește aici?

0
Toate răspunsurile la întrebare 2
3

Am verificat interogarea ta și funcționează corect fără erori sau rezultate goale. În plus, dacă elimini INNER JOIN din tabela wp_terms, aceasta va funcționa de asemenea, deoarece nu obții nicio informație din acea tabelă și nu este utilizată nici în clauza WHERE.

SELECT ID, `post_date`, `post_title`, `post_content`, `guid` FROM `wp_posts` as post

INNER JOIN wp_term_relationships rs ON rs.object_id = post.ID 

WHERE `post_type` = "post" //tipul postării este post pentru exemplul meu
AND `post_status` = "publish"
AND rs.term_taxonomy_id = 1 //term_taxanomy_id este 1 pentru exemplul meu

ORDER BY post_date DESC LIMIT 5
23 iul. 2014 15:00:48
Comentarii

Pentru postări funcționează bine. Dar pentru produse nu. Produsele au taxonomia product_cat. Când rulez aceasta primesc "MySQL a returnat un set de rezultate gol (adică zero rânduri)." Dar am produse în acea categorie.

john254 john254
23 iul. 2014 18:15:59

ok, o să verific. :)

ksr89 ksr89
24 iul. 2014 07:37:18

@john254 rulează această interogare în mysql-ul tău și verifică dacă există vreun rezultat.

ksr89 ksr89
24 iul. 2014 08:13:13
1
-3
SELECT 
        `ID`, 
        `post_title`,
        `guid`      
FROM 
        posts 
WHERE 
        post_type='produs' AND 
        post_status='publicat' AND 
        ID IN(
                SELECT 
                        object_id 
                FROM 
                        term_relationships 
                WHERE 
                        term_taxonomy_id IN(ID_TAUA_CATEGORIE_SAU_ID_URI_MULTIPLE_SEPARATE_PRIN_VIRGULA) AND
                        term_taxonomy_id IN(
                                            SELECT 
                                                term_taxonomy_id 
                                            FROM 
                                                term_taxonomy 
                                            WHERE 
                                                taxonomy='product_cat' )
                                           )
18 dec. 2014 19:53:46
Comentarii

Te rog să curețe codul și să depui o [editare] explicând ce face codul tău și cum funcționează

Pieter Goosen Pieter Goosen
18 dec. 2014 19:55:03