Sziasztok!
Segítséget szeretnék kérni a következőben:
Flutter segítségével létrehoztam egy termékadatbázist. A termékeket lekérdezem, majd egy termékre kattintva eljutok a kiválasztott termékre.
Ennek a terméknek több tulajdonsága van, pl.: szín, méret, magasság, stb.
A termék megjelenés alatt szeretnék egy listát az ugyanolyan méretű és színű termékekről.
Ezt így próbáltam megoldani, de már itt is probléma van (nem csak a 80-as, hanem pl.: a 80/100-as méretűt is kiadja):
$querydetails = "
SELECT wposts.
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = ‘nevlegesmeret’
AND wpostmeta.meta_value = 80
AND wposts.post_status = ‘publish’
AND wposts.post_type = ‘post’
ORDER BY wposts.post_date DESC
";
Ennél a lekérdezésnél (méret és szín) nem ad találatot:
$querydetails = "
SELECT wposts.
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = ‘nevlegesmeret’
AND wpostmeta.meta_value = 80
AND wpostmeta.meta_key = ‘szin’
AND wpostmeta.meta_value = ‘Barna’
AND wposts.post_status = ‘publish’
AND wposts.post_type = ‘post’
ORDER BY wposts.post_date DESC
";
Próbáltam így is,de így sincs találat:
$querydetails = "
SELECT wposts.*
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND (wpostmeta.meta_key = ‘nevlegesmeret’ AND wpostmeta.meta_value = 80)
AND (wpostmeta.meta_key = ‘szin’ AND wpostmeta.meta_value = ‘Standard’)
AND wposts.post_status = ‘publish’
AND wposts.post_type = ‘post’
ORDER BY wposts.post_date DESC
";
A neten sok oldalt átnéztem,de nem találtam megoldást, ezért kérem a segítségeteket.
Hm, szerintem nem jó használod, vagyis elvi hibád van
Egy joinnal rá kellene fűznöd újra a meta táblát, vagy sub queryzni. De ez egy lekérdezéssel nem fog menni.
Code:
SELECT wposts.*
FROM wp_posts wposts, wp_postmeta metaa, wp_postmeta metab
WHERE wposts.ID = metaa.post_id AND metaa.post_id = metab.post_id AND wposts.ID = metab.post_id
AND (metaa.meta_key = 'egyikmeta' AND metaa.meta_value = 'érték')
AND (metab.meta_key = 'másikmeta' AND metab.meta_value = 'érték')
ORDER BY wposts.post_date DESC
FROM wp_posts wposts, wp_postmeta metaa, wp_postmeta metab
WHERE wposts.ID = metaa.post_id AND metaa.post_id = metab.post_id AND wposts.ID = metab.post_id
AND (metaa.meta_key = 'egyikmeta' AND metaa.meta_value = 'érték')
AND (metab.meta_key = 'másikmeta' AND metab.meta_value = 'érték')
ORDER BY wposts.post_date DESC
Ãgy viszont működik.
'DjZoNe' wrote on '2010-03-03:
Code:
SELECT wposts.*
FROM wp_posts wposts, wp_postmeta metaa, wp_postmeta metab
WHERE wposts.ID = metaa.post_id AND metaa.post_id = metab.post_id AND wposts.ID = metab.post_id
AND (metaa.meta_key = 'egyikmeta' AND metaa.meta_value = 'érték')
AND (metab.meta_key = 'másikmeta' AND metab.meta_value = 'érték')
ORDER BY wposts.post_date DESC
FROM wp_posts wposts, wp_postmeta metaa, wp_postmeta metab
WHERE wposts.ID = metaa.post_id AND metaa.post_id = metab.post_id AND wposts.ID = metab.post_id
AND (metaa.meta_key = 'egyikmeta' AND metaa.meta_value = 'érték')
AND (metab.meta_key = 'másikmeta' AND metab.meta_value = 'érték')
ORDER BY wposts.post_date DESC
Ãgy viszont működik.
Nagyon szépen köszönöm a segítséget!
Tökéletesen működik.