dans fonction.php, lors de reception de mail de commande

25 posts in this topic

Posted · Report post

Bonjour,

je vais être plus clair...

dans le

// Mail d'information envoyé à l'administrateur

on a mail qui dit vous avez une commande...

pour le moment j'ai mis le lien qui envoi sur la facture/bon de commande

mais je souhaite mettre le nom du produit et si possible le prix !

si une personne à une idée...

merci d'avance...

Share this post


: post
Share on other sites

Posted · Report post

Tu scans la commande dans la BDD ou dans la session, tu auras le ou les produits commandés ainsi que le prix.

Willy

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

merci de ta réponse willy...

mais je ne suis pas aussi bon que toi dans ce domaine !!

est-ce que c'est possible de m'expliquer mieux STP...

à bientôt...

Share this post


: post
Share on other sites

Posted · Report post

mon 1er post peut etre

$qid_items = mysql_query(" 

SELECT 

p.id 

,p.reference 

,p.prix AS curr_prix 

,oi.nom_produit 

,oi.prix AS purchase_prix 

,oi.quantite 

,oi.tva 

,oi.promotion 

,oi.prix * oi.quantite AS total 

,oi.couleur 

,oi.taille 

,oi.nom_produit 

,oi.produit_id 

FROM peel_commandes_articles oi 

LEFT JOIN peel_produits p ON (oi.produit_id = p.id) 

WHERE commande_id = '$commandeid' 

"); 


if ($qid_items) { 


if (mysql_num_rows($qid_items)) { 


while ($prod = mysql_fetch_object($qid_items)) { 

// ici tu fais echo avec les champs qui t'interressent


}}}

Share this post


: post
Share on other sites

Posted · Report post

Tout à fait, avec ce code, tu récupères tous les articles de ta commande et ensuite tu n'a plus qu'a les ajouter à ton mail.

Fais toi une chaine de caractère avec tous les articles grace au code si dessus et apre stu l'ajoute au mail existant.

Willy

PS: le soucis est que je n'ais pas shoopping sur mon serveur, sinon j'aurais plus developpé.

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

merci à vous deux !!

je tente ça ce soir...

à bientôt...

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

mon problème est que lors d'une commande je ne peux pas visualiser le contenu de la commande.

J'ai uniquement le tableau vide.

Pouvez vous me dire si votre code corrigera ce bug et si oui ce qu'il faut que je mette avec le echo pour afficher le nom du produit, la référence et la quantité.

Merci d'avance pour votre aide

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

tu as un tableau vide ou ?

Dans le mail ? ou dans le BO ?

Willy

Share this post


: post
Share on other sites

Posted · Report post

dans le backoffie, quand je vai sur commande et détail, le tableau est vide.

Je sais pas si c'est normal.

Et quand je vais sur editer facture, j'ai le nom et l'adresse de livraison, le tableau avec nom du produit .....

mais dedans, à la place dunom des produits, j'ai directement lze prix hors taxe qui est toujours de €, la tva et les frais de ports qui eux s'affichent normalement.

Share this post


: post
Share on other sites

Posted · Report post

ah là non, ce code ne t'aidera pas , apparement tu as un probleme avec les sessions ou avec la commande de mise en base de la "commande" de ton client.

Share this post


: post
Share on other sites

Posted · Report post

+1, ta commande ne s'nregistre pas bien a la base déja ;)

Willy

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

ce code ce met bien dans fonction.php si oui est ce qu'il y a un emplacement précis ?

ou alors on peut le mettre n'importe où ??

à bientôt...

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

car j'ai j'ai déjà un code qui m'envoi quelques infos mais pas tout ce que je souhaite mettre sur le mail...

mais j'ai aussi des charlatants qui commandes avec de fausses adresses email pour s'amuser...

alors je prefer avoir les mêmes infos que que dans l'admin...

car quand on a un nom AAAA, prénom BBBB email aaaa@bbbb at fr

on ce doute que c'est du vent !!

Merci de préciser comment placer le code SVP...

à bientôt...

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

car j'ai j'ai déjà un code qui m'envoi quelques infos mais pas tout ce que je souhaite mettre sur le mail...

mais j'ai aussi des charlatants qui commandes avec de fausses adresses email pour s'amuser...

alors je prefer avoir les mêmes infos que que dans l'admin...

car quand on a un nom AAAA, prénom BBBB email aaaa@bbbb at fr

on ce doute que c'est du vent !!

Merci de préciser comment placer le code SVP...

à bientôt...

Bonjour,

Je te donne le code que j'ai utilisé sur mon site je n'ai pas rencontré de bug.

Il faut mette ce code dans fonctions.php dans la fonction "email_commande".

  $qid_commande = mysql_query("SELECT * FROM peel_commandes WHERE id = '$commandeid'");

$qid_items = mysql_query("
SELECT
p.id
,p.reference
,oi.nom_produit
,oi.promotion
,p.prix AS curr_prix
,oi.prix AS purchase_prix
,oi.quantite
,oi.prix * oi.quantite AS total
FROM peel_commandes_articles oi
LEFT JOIN peel_produits p ON (oi.produit_id = p.id)
WHERE commande_id = '$commandeid'
");

$commande = mysql_fetch_object($qid_commande);
// Mail d'information envoyé à l'administrateur
$objet_commande="Une commande portant le numéro $commandeid vient d'être enregistrée sur le site $site.\n\n";
$objet_commande.="Montant total de la commande AVEC frais de port : $com->montant €\n\n";
$total_general=0;
while ($prod = mysql_fetch_array($qid_items))
{
$objet_commande.="$prod[reference] | ";
//$objet_commande.="$prod[id]\t";
$objet_commande.=stripslashes($prod['nom_produit'])." | ";
//$objet_commande.=fprix($prod['curr_prix'])."\t";
$objet_commande.=fprix($prod['purchase_prix'])." | ";
$objet_commande.="$prod[quantite] | ";
$total = $prod['purchase_prix']*$prod['quantite'];
$total_general+=$total;
$objet_commande.=fprix($total)." €\n";
}
if ($commande->promo_libelle!="" || $commande->promo!="0")
{
$objet_commande.="\nRéduction : ";
$objet_commande.=$commande->promo_libelle." | ";
$objet_commande.="- ".$commande->promo." €\n\n";
$total_general-=$commande->promo;
}
$objet_commande.="\nMontant total de la commande SANS frais de port : ".fprix($total_general)." €\n";

mail(
$support,
"Nouvelle commande sur votre site web $site",
$objet_commande,
"FROM:$support");
[/codebox]

Cordialement

Jcdhl

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Merci l'ami jcdhl,

je tente ton code çi dessous et je te donne suite !!

à bientôt...

----------------------------------

code à mette dans fonctions.php dans la fonction "email_commande".

  $qid_commande = mysql_query("SELECT * FROM peel_commandes WHERE id = '$commandeid'");


	$qid_items = mysql_query("

	SELECT

		 p.id

		,p.reference

		,oi.nom_produit

		,oi.promotion

		,p.prix AS curr_prix

		,oi.prix AS purchase_prix

		,oi.quantite

		,oi.prix * oi.quantite AS total

	FROM peel_commandes_articles oi

		LEFT JOIN peel_produits p ON (oi.produit_id = p.id)

	WHERE commande_id = '$commandeid'

	");


	$commande = mysql_fetch_object($qid_commande);

	// Mail d'information envoyé à l'administrateur

  $objet_commande="Une commande portant le numéro $commandeid vient d'être enregistrée sur le site $site.\n\n";

  $objet_commande.="Montant total de la commande AVEC frais de port : $com->montant €\n\n";

  $total_general=0;

	while ($prod = mysql_fetch_array($qid_items)) 

	{

	$objet_commande.="$prod[reference] | "; 

	//$objet_commande.="$prod[id]\t";

	$objet_commande.=stripslashes($prod['nom_produit'])." | ";

	//$objet_commande.=fprix($prod['curr_prix'])."\t";

	$objet_commande.=fprix($prod['purchase_prix'])." | ";

	$objet_commande.="$prod[quantite] | ";

		$total = $prod['purchase_prix']*$prod['quantite'];

		$total_general+=$total;

		$objet_commande.=fprix($total)." €\n";

	} 

  if ($commande->promo_libelle!="" || $commande->promo!="0")

	{

	$objet_commande.="\nRéduction : ";

	$objet_commande.=$commande->promo_libelle." | ";

	$objet_commande.="- ".$commande->promo." €\n\n";

	$total_general-=$commande->promo;

	} 

	$objet_commande.="\nMontant total de la commande SANS frais de port : ".fprix($total_general)." €\n";


	mail(

		$support,

		"Nouvelle commande sur votre site web $site",

		$objet_commande,

		"FROM:$support");

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

ça n'a pas marché !!

car j'ai déjà ce code :

function email_commande(&$commandeid) {


	global $wwwroot;

	global $site;

	global $support;


	$result = mysql_query("SELECT email, o_timestamp, montant FROM peel_commandes WHERE id ='".$commandeid."'");


	$com = mysql_fetch_object($result);


	$goto = "/factures/facture_html.php?mode=proforma&id=$commandeid&timestamp=".urlencode($com->o_timestamp)."";


	$urlcommande = $wwwroot.$goto;


	// Mail d'information envoyé à l'administrateur


	mail(

		$support,

		"Vous avez une nouvelle commande sur le site $site",

		"Bonjour,\n\nUne commande $commandeid vient d'être enregistrée sur le site $site.\n\nDate de commande : ".return_date_fr($com->o_timestamp)." \n\n$article\n\n Rendez-vous sur : $wwwroot",

		"FROM:$support");	


	// Mail à l'adresse de facturation


	$facturation = "Bonjour,\n\nMerci de cette commande sur $site.\n\n"

					 ."Pour visualiser votre commande, cliquez sur le lien ci  :\n\n$urlcommande.\n\n"

					 ."à très bientôt sur $site.\n\n$wwwroot\n\n";


	mail($com->email,

		"le site $site",

		$facturation,

		"FROM:$support");		


	// Mail à l'adresse de livraison


	//$livraison = "blabla";					 


	//mail(

		//$_SESSION['commande']['email2'],

		//"Le site $site a bien enregistré votre commande",

		//$livraison,

		//"FROM:$support");

}

j'ai enlevé ce code et je l'ai remplacé par le code donné !!

mais ça n'a rien donné...

Merci d'une aide..

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

ça n'a pas marché !!

car j'ai déjà ce code :

   // Mail d'information envoyé à l'administrateur

mail(
$support,
"Vous avez une nouvelle commande sur le site $site",
"Bonjour,\n\nUne commande $commandeid vient d'être enregistrée sur le site $site.\n\nDate de commande : ".return_date_fr($com->o_timestamp)." \n\n$article\n\n Rendez-vous sur : $wwwroot",
"FROM:$support");
[/codebox]

Par celui que je t'ai donné.

Si oui, as-tu un message d'erreur ou qu'y a-t-il dans l'email que tu reçois ?

Jcdhl

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Merci jcdhl, ça marche !!

j'ai une dernière question...

comment ajouter les coordonnées de contacte du client

nom, mail, adresse, phone, ainsi que le moyen de paiement et le type d'envoi...

la total pour éviter de ce connecter au site !

Merci encore...

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Merci jcdhl, ça marche !!

j'ai une dernière question...

comment ajouter les coordonnées de contacte du client

nom, mail, adresse, phone, ainsi que le moyen de paiement et le type d'envoi...

la total pour éviter de ce connecter au site !

Merci encore...

Bonjour,

Je travaille actuellement dessus et dès que j'ai terminé je te le donne ici même.

Cordialement

Jcdhl

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Merci c'est très sympa...

à bientôt...

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Merci c'est très sympa...

à bientôt...

Bonjour,

Pour avoir les infos clients il faut simplement ajouté ceci dans la focntion email_commande()

	$qid_utilisateur=mysql_query("select * from peel_utilisateurs WHERE id_utilisateur='$commande->id_utilisateur'");
$utilisateur = mysql_fetch_object($qid_utilisateur);
// Mail d'information envoyé à l'administrateur

//$objet_commande="Une commande portant le numéro $commandeid vient d'être enregistrée sur le site $site.\n\n";
$objet_commande="Une commande de $utilisateur->prenom $utilisateur->nom_famille ($utilisateur->email) portant le numéro $commandeid vient d'être enregistrée sur le site $site.\n\n";
[/codebox]

Pour les autres infos que tu souhaites, elles sont dans la table peel_commandes :

client_info2 -> Adresse de livaraison

transport -> Type de transport

paiement -> Type de paiement

Pour le téléphone, il est dans la table peel_utilisateurs.

Cordialement

Jcdhl

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Merci à toi...

je tente ça à la rentrée...

n'hésite pas si tu veux mettre ton site sur mon annuaire...

le lien : http://www.negoce-land.com/annuaire-gratuit

à bientôt...

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

J'ai appliqué ton morceau de code jcdhl et il marche très bien. Seulement moi aussi, je voudrais afficher les coordonnées de l'acheteur dans le mail.

Toutes les coordonnées s'affichent correctement sauf l'adresse de livraison et le mode de paiement.

Logique puisque ces deux données ne font pas partie des deux tables utilisées dans la requete SQL mais sont dans la table peel_commande.

J'ai donc essayé de bidouiller pour joindre les 3 tables pour afficher toutes les données que je voulais.

Seulement ça ne marche pas :( et je ne comprends pas comment faire pour joindre les 3 tables sans provoquer un gros chamboulement dans l'affichage du mail.

Si vous pouviez m'aider..., Ce ne serait pas de refut ;) .

Voici ma requete SQL FAUSSE, que jai modifiée en tentant de trouver :

	SELECT

		 p.id

		,p.reference

		,p.pack

		,c.client_info2

		,c.paiement

		,oi.nom_produit

		,oi.promotion

		,p.prix AS curr_prix

		,oi.prix AS purchase_prix

		,oi.quantite

		,oi.prix * oi.quantite AS total

	FROM peel_commandes_articles oi, peel_commandes c

		LEFT JOIN peel_produits p ON (oi.produit_id = p.id AND oi.commande_id = c.id)

	WHERE commande_id = '$commandeid'

Share this post


: post
Share on other sites

Posted · Report post

Essayer ceci, remplacer toute la fonction "function email_commande(&$commandeid)" dans le fichier lib/fonctions/fonctions.php

function email_commande(&$commandeid) {


	global $wwwroot;

	global $site;

	global $support;


	$result = mysql_query("SELECT * FROM peel_commandes WHERE id ='".$commandeid."'");


	$com = mysql_fetch_object($result);


	$goto = "/factures/facture_html.php?mode=proforma&id=$commandeid&timestamp=".urlencode($com->o_timestamp)."";


	$urlcommande = $wwwroot.$goto;


		// Mail d'information envoyé à l'administrateur


	$qid_commande = mysql_query("SELECT * FROM peel_commandes WHERE id = '$commandeid'");


	$qid_items = mysql_query("

	SELECT

		 p.id

		,p.reference

		,oi.nom_produit

		,oi.promotion

		,p.prix AS curr_prix

		,oi.prix AS purchase_prix

		,oi.quantite

		,oi.prix * oi.quantite AS total

	FROM peel_commandes_articles oi

		LEFT JOIN peel_produits p ON (oi.produit_id = p.id)

	WHERE commande_id = '$commandeid'

	");


	$commande = mysql_fetch_object($qid_commande);

	// Mail d'information envoyé à l'administrateur

  $objet_commande="Une commande portant le numéro $commandeid vient d'être enregistrée sur le site $site.\n\n";

  $objet_commande.="Client : $com->client_info1 \n\n";

  if ($com->client_info1 !=$com->client_info2){$objet_commande.="Adresse de livraison : $com->client_info2 \n\n";}

  $objet_commande.="Email client : $com->email \n\n";


  $objet_commande.="Montant total de la commande AVEC frais de port : $com->montant Euro\n\n";

  $total_general=0;

	while ($prod = mysql_fetch_array($qid_items))

	{

	$objet_commande.="$prod[reference] | ";

	//$objet_commande.="$prod[id]\t";

	$objet_commande.=stripslashes($prod['nom_produit'])." | ";

	//$objet_commande.=fprix($prod['curr_prix'])."\t";

	$objet_commande.=fprix($prod['purchase_prix'])." | ";

	$objet_commande.="$prod[quantite] | ";

		$total = $prod['purchase_prix']*$prod['quantite'];

		$total_general+=$total;

		$objet_commande.=fprix($total)." Euro\n";

	}

  if ($commande->promo_libelle!="" or $commande->promo!="0")

	{

	$objet_commande.="\nRéduction : ";

	$objet_commande.=$commande->promo_libelle." | ";

	$objet_commande.="- ".$commande->promo." Euro\n\n";

	$total_general-=$commande->promo;

	}

	$objet_commande.="\nMontant total de la commande SANS frais de port : ".fprix($total_general)." Euro\n\n";

	$objet_commande.="Type de paiement : $com->paiement \n";

	$objet_commande.="Mode de livraison : $com->transport \n\n";

  if ($com->commentaires !=""){ $objet_commande.="Commentaire : $com->commentaires \n\n";}


	mail(

		$support,

		"Nouvelle commande sur votre site web $site",

		$objet_commande,

		"FROM:$support");


	$facturation = "Votre commande n° $commandeid a bien été enregistrée sur le site $site.\r\n\r\n"

					 ."Date : ".return_date_fr($com->o_timestamp)."\r\n\r\n"

					 ."Montant : $com->montant EUR TTC\r\n\r\n"

					 ."Pour éditer votre bon de commande, cliquez sur le lien suivant :\n $urlcommande\r\n\r\n"

					 ."et envoyez votre règlement figurant sur ce dernier.\r\n\r\n"

					 ."Nous vous remercions pour votre confiance\r\n\r\nL'équipe du site $site.";


	mail($com->email,"[$site] Confirmation de prise de commande",$facturation,"FROM:$support");		


}

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Merci de ton aide Morpheus !!

dit Riskbreaker tu a essayé la dernière partie du code ??

je n'ai pas eu le temps d'essayer sur mon site de test !!

car je suis sur mon site de petites annonces en ce moment !!

après avoir fini mon annuaire pour celles et ceux qui souhaitent

s'y inscrire gratuitement : http://www.negoce-land.com/annuaire-gratuit

à bientôt...

Share this post


: 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

Twitter Advisto ecommerce

Facebook PEEL Shopping