Goedemiddag,

Ik maak gebruik van deze query


SELECT * 
FROM wp_posts p
LEFT JOIN wp_postmeta pm ON (pm.post_id = p.ID AND pm.meta_key = '_sku')
WHERE p.post_title LIKE '%rad%' 
OR IF(pm.meta_value IS NULL, 0, pm.meta_value LIKE '%rad%')



<?php
	echo $row['post_title'];
	echo $row['meta_value'];
?>


wp_posts
[table]
[tr][td]ID[/td][td]post_title[/td][/tr]
[tr][td]1[/td][td]radio[/td][/tr]
[tr][td]2[/td][td]televisie[/td][/tr]
[/table]

wp_postmeta
[table]
[tr][td]meta_id[/td][td]post_id[/td][td]meta_key[/td][td]meta_value[/td][/tr]
[tr][td]1[/td][td]1[/td][td]price[/td][td]12.50[/td][/tr]
[tr][td]2[/td][td]1[/td][td]_sku[/td][td]5876gh7[/td][/tr]
[tr][td]3[/td][td]1[/td][td]thumb_id[/td][td]56[/td][/tr]
[tr][td]4[/td][td]2[/td][td]price[/td][td]342.50[/td][/tr]
[tr][td]5[/td][td]2[/td][td]_sku[/td][td]tv784[/td][/tr]
[tr][td]6[/td][td]2[/td][td]thumb_id[/td][td]78[/td][/tr]
[/table]


Met deze query zoek ik in de post_title en in de meta_value kolom als kolom meta_key de waarde _sku bevat.
Zo kan ik zoeken op naam en artikelnummer.

De query zoals hierboven geeft als resultaat
- Radio
- 5876gh7

Maar ik wil ook de price en de thumb_id hebben uit de kolom meta_value.
Als ik het rood gemarkeerde weghaal
LEFT JOIN wp_postmeta pm ON [color="#ff0000"]([/color]pm.post_id = p.ID [color="#ff0000"]AND pm.meta_key = '_sku')[/color] krijg ik alle meta_values terug maar dan word er ook in alle meta_values gezocht wat alleen mag als de meta_key _sku is.

Wat dien ik aan te passen in mijn query?
Quote
Of je regelt dit gewoon ergens anders?

hij kan natuurlijk ook de waardes terug sturen en de zichtbaarheid regelen met JavaScript.
Of heb je nog een andere manier Thomas?
Je bedoeld zo Thomas

<?php
while($row = mysqli_fetch_assoc($result)){	
	if (false === isset($data[$row['ID']])) {
		$ms_on = false;
		$data[$row['ID']] = array(
        	'id' 			=> $row['ID'],
            'post_title' 	=> $row['post_title'],
            'price'			=> '-',
            'stock'			=> '0',
        );    
    }
        
		if ($row['meta_key'] == '_price' && $row['meta_value'] !== '') {
    		$data[$row['ID']]['price'] = $row['meta_value'];
		}
		
		if ($row['meta_key'] == '_stock' && $row['meta_value'] !== '') {
    		$stock = $row['meta_value'];
		}
	
		if ($row['meta_key'] == '_manage_stock' && $row['meta_value'] == 'yes') {
    		$ms_on = true;
		}
		
		if($ms_on){
			$data[$row['ID']]['stock'] = $stock;
		}	
}
?>

Reageren