- Posts: 2696
- Thank you received: 74
action de masse php avec champ perso
4 years 5 days ago - 4 years 4 days ago #344933
by erickb
action de masse php avec champ perso was created by erickb
-- HikaShop version -- : 4.6.1
je fais cette action de masse php pour recuperer les valeur du champ perso product_categories
mais j'ai une erreur sur explode car le champ perso product_categories n'est pas trouve
si je remplace par les valeurs $cats = array (503,803,246,605,251,263,60,711,1081); tout marche parfaitement
merci pour l'aide
je fais cette action de masse php pour recuperer les valeur du champ perso product_categories
Code:
$cats = explode(',',{product_categories});
$db = JFactory::getDBO();
foreach($cats as $c){
$q = 'INSERT IGNORE INTO #__hikashop_product_category (category_id, product_id) VALUES ('.$c.', {product_id});';
$db->setQuery($q);
$db->execute();
}
mais j'ai une erreur sur explode car le champ perso product_categories n'est pas trouve
si je remplace par les valeurs $cats = array (503,803,246,605,251,263,60,711,1081); tout marche parfaitement
merci pour l'aide
Last edit: 4 years 4 days ago by erickb.
Please Log in or Create an account to join the conversation.
4 years 5 days ago #344934
by nicolas
Replied by nicolas on topic action de masse php avec champ perso
Bonjour,
Pouvez-vous fournir une capture des paramètres du champ et une capture des paramètres de l'action de masse ?
Pouvez-vous fournir une capture des paramètres du champ et une capture des paramètres de l'action de masse ?
Please Log in or Create an account to join the conversation.
4 years 5 days ago - 4 years 5 days ago #344936
by erickb
Replied by erickb on topic action de masse php avec champ perso
Le champ perso
l'action
l'erreur actuelle
j'ai essaye
$cats = explode(',' , '{product_categories}' );
et
$cats = explode(',' , {product_categories});
et
$cats = explode(',' , addslashes({product_categories}) );
rien ne marche
on dirait qu'il manque les quotes au string 503,803,246,605,251,263,60,711,1081
l'action
l'erreur actuelle
1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$cats = explode(',' , 503,803,246,605,251,263,60,711,1081 ); $db = JFactory:' at line 1
j'ai essaye
$cats = explode(',' , '{product_categories}' );
et
$cats = explode(',' , {product_categories});
et
$cats = explode(',' , addslashes({product_categories}) );
rien ne marche
on dirait qu'il manque les quotes au string 503,803,246,605,251,263,60,711,1081
Last edit: 4 years 5 days ago by erickb.
Please Log in or Create an account to join the conversation.
4 years 5 days ago #344938
by nicolas
Replied by nicolas on topic action de masse php avec champ perso
Vous utilisez une action "requête MySQL".
Dans ce cas, vous n'avez que le droit de mettre une requête MySQL, pas de code PHP.
Vous devez changer le type de l'action pout l'action "code PHP" et cela devrait fonctionner.
Dans ce cas, vous n'avez que le droit de mettre une requête MySQL, pas de code PHP.
Vous devez changer le type de l'action pout l'action "code PHP" et cela devrait fonctionner.
Please Log in or Create an account to join the conversation.
4 years 5 days ago - 4 years 5 days ago #344945
by erickb
Replied by erickb on topic action de masse php avec champ perso
c'est en dupliquant l'action et en la simplifiant pour le test que j'ai par erreur selectionne mysql si je selectionne php avec la meme action j'ai
le contenu de product_categories est par exemple : 503,803,246,605,251,263,60,711,1081
le code exact est
Code:
Le code PHP de l'action est erroné : syntax error, unexpected token "{", expecting ")"
le contenu de product_categories est par exemple : 503,803,246,605,251,263,60,711,1081
le code exact est
Code:
$db = JFactory::getDBO();
$cats = explode(',',{product_categorie});
foreach($cats as $c){
$q = 'INSERT IGNORE INTO #__hikashop_product_category (category_id, product_id) VALUES ('.$c.', {product_id});';
$db->setQuery($q);
$db->execute();
}
$q = 'DELETE FROM #__hikashop_product_category WHERE product_id = {product_id} AND category_id = 30;';
$db->setQuery($q);
$db->execute();
Last edit: 4 years 5 days ago by erickb.
Please Log in or Create an account to join the conversation.
4 years 5 days ago #344948
by nicolas
Replied by nicolas on topic action de masse php avec champ perso
Le code PHP n'est pas valide.
Au lieu de :
$cats = explode(',' , {product_categories} );
il faut mettre:
$cats = explode(',' , '{product_categories}' );
Au lieu de :
$cats = explode(',' , {product_categories} );
il faut mettre:
$cats = explode(',' , '{product_categories}' );
Please Log in or Create an account to join the conversation.
4 years 5 days ago #344955
by erickb
Replied by erickb on topic action de masse php avec champ perso
Je viens de le re essayer et ca marche, merci
c'est pourtant ce que j'ai écris queques messages au dessus
j'ai essaye
$cats = explode(',' , '{product_categories}' );
et
$cats = explode(',' , {product_categories});
et
$cats = explode(',' , addslashes({product_categories}) );
c'est pourtant ce que j'ai écris queques messages au dessus
j'ai essaye
$cats = explode(',' , '{product_categories}' );
et
$cats = explode(',' , {product_categories});
et
$cats = explode(',' , addslashes({product_categories}) );
Please Log in or Create an account to join the conversation.
4 years 4 days ago #344958
by nicolas
Replied by nicolas on topic action de masse php avec champ perso
Oui, mais quand vous aviez fait ces changements, vous aviez laisser l'action "requête MySQL" au lieu de "code PHP", donc de toute façon cela ne fonctionnait pas.
The following user(s) said Thank You: erickb
Please Log in or Create an account to join the conversation.
Time to create page: 0.176 seconds