Jump to content

[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.

Link to comment
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 ;-)

Link to comment
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...

Link to comment
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

Link to comment
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

Link to comment
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

Link to comment
Share on other sites

  • 9 months later...

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 !

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...