Jump to content
Sign in to follow this  
AngelDisc

[RÉSOLU] détection si le client a déjà passé commande

Recommended Posts

Bonjour(soir)

Je voudrais savoir s'il existé un moyen d'afficher un module (FAQ) seulement si le client était loggé et qu'il avait passé commande.

si loggé ou pas :

if (!$params['cookie']->isLogged())
           return false;



Une idée de la variable a utiliser pour savoir si le client loggé a déjà passé commande ?

Merci d'avance.

Share this post


Link to post
Share on other sites

C'est possible oui. Mais il faut passer par le développement d'un module spécifique.
En gros, ton module devra faire plusieurs requêtes sur les tables order et orders_details pour voir la personne qui est connecté a déjà acheté un produit.

Share this post


Link to post
Share on other sites

tu peux faire une requête du style :


$orders = Db::getInstance->ExecuteS('select * from '._DB_PREFIX_.'orders where valid=1 and id_customer='.intval($cookie->id_customer).' group by id_order');

if ( !$orders ){
 // Traitement aucune commande
} else {
 // Traitement si commande trouvée
}



à tester, car je te marque ça comme exemple ;-)

Share this post


Link to post
Share on other sites

Malheuresuement je suis pas très bon en MySQL. En testant, je vois une erreur.

$orders = Db::getInstance()->getValue('select * from '._DB_PREFIX_.'orders where valid=1 and id_customer='.intval($cookie->id_customer).' group by id_order');



la table c'est bien _DB_PREFIX_.'orders
si client a passé commande valid=1
l'identifiant client id_customer


Si quelqu'un peu m'aider a nouveau...

Share this post


Link to post
Share on other sites

le valid=1 c'est pour ne prendre que les commandes validées, et id_customer pour l'identifiant du client

quelle erreur as tu en testant ?

Share this post


Link to post
Share on other sites

je n'avais pas bien vu ton post, mais tu n'as pas recopié comme je te l'ai marqué ... donc à mon avis ton problème vient de la

Share this post


Link to post
Share on other sites

en rentrant ton code, j'ai déjà une erreur

$orders = Db::getInstance->ExecuteS('select * from '._DB_PREFIX_.'orders where valid=1 and id_customer='.intval($cookie->id_customer).' group by id_order');



j'ai pas d'erreur avec les ()


$orders = Db::getInstance()->ExecuteS('select * from '._DB_PREFIX_.'orders where valid=1 and id_customer='.intval($cookie->id_customer).' group by id_order');



Mais j'ai l'impression que rien ne fonctionne quand meme !!!

Es ce que je laisse ça ou pas ?

if (!$params['cookie']->isLogged())
           return false;



Merci encore

Share this post


Link to post
Share on other sites

ah oui effectivement j'ai oublié les () bien vue :)

normalement $orders te renverra "false" si aucune commande trouvée, donc ça te permet de vérifier juste après ton code de vérification de l'identification.

Il faut ensuite gérer le reste avec une condition comme dans mon premier exemple

Share this post


Link to post
Share on other sites

Bonjour.

en utilisant dans mon code php:

$orders = Db::getInstance()->ExecuteS('select * from '._DB_PREFIX_.'orders where valid=1 and id_customer='.intval($cookie->id_customer).' group by id_order');



$cookie->id_customer ne me retourne aucune valeur.

Alors que dans ma template si je teste {$cart->id_customer}, elle me renvoie bien l'id du client.

Pourquoi ?

Cordialement

Share this post


Link to post
Share on other sites

tu utilise le code dans une fonction ?
si oui, as-tu déclaré $cookie avec => global $cookie; ?

Share this post


Link to post
Share on other sites

Mon dieux !!!!!!!!!!!!!!! arrrrrrrrrrrrrr

J'avais zappé total, j'avais juuste déclaré $smarty

Merci tom06

Share this post


Link to post
Share on other sites

de rien ;)

si ton problème est résolu, n'oubli pas de le marquer dans le titre du sujet ;)

Share this post


Link to post
Share on other sites

Bonjour,

 

J'essaye de m'inspirer de vos messages pour réaliser une fonction assez identique, à savoir, afficher dans une page un lien si une personne a acheté un produit déterminé.

 

Exemple : le client 3 a acheté un produit 32, un lien apparaît sur une page lui proposant un téléchargement.

 

Pouvez-vous me guider pour arriver à cela, je tourne en rond là et n'aboutis à aucun résultat !

Share this post


Link to post
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
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More