Jump to content

creare sql


ilario

Recommended Posts

ragazzi mi dareste una mano per cortesia mi sto perdendo tra le tabelle

dovrei inserire una sql nel mio modulo

gli passo id_carrello e id_product

dovrei recuperare tutti gli Id_attribute (combinazioni) di un prodotto in un carrello

ho visto la tabelle cart_product e la tabella  product-attribute-combination

ma se provo fare una select non mi tornano tutti gli attributi

perchè il singolo prodotto nel carrello so che ha più di una variante (attributo) a me ne torna solo una

grazie mille

ilario

Link to comment
Share on other sites

ho guardato un po in cart.php con delle modifiche sono riuscito ad ottenere le varianti corrette per ogni prodotto, 

$result = Db::getInstance()->executeS(
				'SELECT pac.`id_product_attribute`, agl.`public_name` AS public_group_name, al.`name` AS attribute_name, 
				ag.is_color_group, a.id_attribute as color_id_attribute, a.color as color_value
				FROM `' . _DB_PREFIX_ . 'product_attribute_combination` pac
				LEFT JOIN `' . _DB_PREFIX_ . 'attribute` a ON a.`id_attribute` = pac.`id_attribute`
				LEFT JOIN `' . _DB_PREFIX_ . 'attribute_group` ag ON ag.`id_attribute_group` = a.`id_attribute_group`
				LEFT JOIN `' . _DB_PREFIX_ . 'attribute_lang` al ON (
					a.`id_attribute` = al.`id_attribute`
					AND al.`id_lang` = ' . (int) $id_lang . '
				)
				LEFT JOIN `' . _DB_PREFIX_ . 'attribute_group_lang` agl ON (
					ag.`id_attribute_group` = agl.`id_attribute_group`
					AND agl.`id_lang` = ' . (int) $id_lang . '
				)
				
				WHERE pac.`id_product_attribute` IN (' . implode(',', $pa_implode) . ')
				ORDER BY ag.`position` ASC, a.`position` ASC'
			);

			foreach ($result as $row) {
				
				
					
				
				$colorImg = '';
				if ($row['is_color_group'] == '1'){
					if ($row['color_value']){
						
					
					} else {
						
	
						 $colorImg = 'url(/img/co/'.$row['color_id_attribute'].'.jpg), '; 
						 self::$_imagesvariant .= $colorImg ;
					
					}
					
				} 
			}

però prima di inserirlo nel modulo ho un problema, non riesco a ricostruire $pa_implode, ho visto che la ricava da un foreach di $ipa_list che è ricavata a sua volta da un foreach $pa_ids[] = $row['id_product_attribute'];

ci potrebbero essere due soluzioni  

1 aggiungere alla sql la tabella cart_product  così gli passo id_cart e id_product     (mi sembra la soluzione più pulita

2 passare al modulo $pa_ids[]

ma sono bloccato

 

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...