Sign in to follow this  
Followers 0

Stock pour shopping

14 posts in this topic

Posted · Report post

Quelqu'un a t il compilé cette application afin que je la mette à disposition en téléchargement pour tous

Share this post


: post
Share on other sites

Posted · Report post

Il y a un debut de réponse ici:

http://forum.peel.fr/index.php?showtopic=888

Je pense qu'Aquerelle sera OK pour la diffusion, car ce script a été dev avec l'aide d'autres forumeurs aussi :D

Willy

Share this post


: post
Share on other sites

Posted · Report post

Il y a un debut de réponse ici:

http://forum.peel.fr/index.php?showtopic=888

Je pense qu'Aquerelle sera OK pour la diffusion, car ce script a été dev avec l'aide d'autres forumeurs aussi :D

Willy

Pas de probléme, mais il faudrait trouver le code pour ne pas ajouter au caddie plus que le stock, moi je suis limité en php , j'apprend en me plongeant dans le code peel, sans avoir appris les bases auparavant.

:D :wub:

Share this post


: post
Share on other sites

Posted · Report post

j'ai développé le meme genre de systeme mais avec gestion du stock dans la page produit et non pas dans une page externe.

J'avais fait des modifs des requetes pour voir si le produit avait du stock et n'afficher dans les listes déroulantes que la quantité disponible.

Par contre j'avais aussi buter sur le systeme d'ajout.

Mais j'avais mis en place un systeme qui supprime du stock auto apres vente et qui tiens au courant l'admin des que le stock est à zero.

Share this post


: post
Share on other sites

Posted · Report post

j'ai développé le meme genre de systeme mais avec gestion du stock dans la page produit et non pas dans une page externe.

J'avais fait des modifs des requetes pour voir si le produit avait du stock et n'afficher dans les listes déroulantes que la quantité disponible.

Par contre j'avais aussi buter sur le systeme d'ajout.

Mais j'avais mis en place un systeme qui supprime du stock auto apres vente et qui tiens au courant l'admin des que le stock est à zero.

Maintenant que l'on sait "ne pas commander plus que le stock", il serait interessant de voir ton script au niveau de administrer/produits.php, pour gérer aussi à ce niveau et pourquoi pas faire cohabiter les 2 façons

Qu'en penses tu ?

Nouveau produit==> fiche produit=>stock

Mise à jour de plusieurs produits ==>sur une page a part

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Ci-joint les modifications dans administrer/produits.php pour le stock à partir des fiches produits

Ajouter ce qui suit vers ligne 348

<tr>

<td class="normal">Quantité en stock:</td>

<td class="normal">

<input type="texte" name="stock" value="<?php echo vb($frm['stock']) ?>" style="width: 60%" class="formulaire1" />

</td>

</tr>

Puis

Modifier la fonction insere_produit par

valide($frm['on_special']);

valide($frm['etat']);

$nom = addSlashes($frm['nom']);

$description = addSlashes($frm['description']);

$descriptif = addSlashes($frm['descriptif']);

/*ajoute le produit dans la table produits */

$qid = mysql_query("

INSERT INTO peel_produits (

reference

, nom

, description

, prix

, descriptif

, image1

, image2

, image3

, image4

, pdf

, lang

, promotion

, stock

, tva

, etat

, date_insere

, date_maj

, on_special)

VALUES (

'$frm[reference]'

, '$nom'

, '$description'

, '$frm[prix]'

, '$descriptif'

, '$img1'

, '$img2'

, '$img3'

, '$img4'

, '$pdf'

, 'fr'

, '$frm[promotion]'

, '$frm[stock]'

, '$frm[tva]'

, '$frm[etat]'

, now()

, now()

, '$frm[on_special]')

");

Et modifier la fonction maj_produit par

valide($frm['on_special']);

$nom = addSlashes($frm['nom']);

$description = addSlashes($frm['description']);

$descriptif = addSlashes($frm['descriptif']);

/* Met à jour la table produits */

$qid = mysql_query("

UPDATE peel_produits SET

reference = '$frm[reference]'

,nom = '$nom'

,description = '$description'

,prix = '$frm[prix]'

,descriptif = '$descriptif'

,image1 = '$img1'

,image2 = '$img2'

,image3 = '$img3'

,image4 = '$img4'

,pdf = '$pdf'

,lang = 'fr'

,promotion = '$frm[promotion]'

,stock = '$frm[stock]'

,tva = '$frm[tva]'

,etat = '$frm[etat]'

,date_maj = now()

,on_special = '$frm[on_special]'

WHERE id = $id

");

A partir de là on peut gérer la quantité en stock dans les deux pages (produits et stock) comme recherché

Cdlt

Fabrice

www.etroc-mode.fr

Maintenant que l'on sait "ne pas commander plus que le stock", il serait interessant de voir ton script au niveau de administrer/produits.php, pour gérer aussi à ce niveau et pourquoi pas faire cohabiter les 2 façons

Qu'en penses tu ?

Nouveau produit==> fiche produit=>stock

Mise à jour de plusieurs produits ==>sur une page a part

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

Ci-joint les modifications dans administrer/produits.php pour le stock à partir des fiches produits

Ajouter ce qui suit vers ligne 348

<tr>

<td class="normal">Quantité en stock:</td>

<td class="normal">

<input type="texte" name="stock" value="<?php echo vb($frm['stock']) ?>" style="width: 60%" class="formulaire1" />

</td>

</tr>

Puis

Modifier la fonction insere_produit par

valide($frm['on_special']);

valide($frm['etat']);

$nom = addSlashes($frm['nom']);

$description = addSlashes($frm['description']);

$descriptif = addSlashes($frm['descriptif']);

/*ajoute le produit dans la table produits */

$qid = mysql_query("

INSERT INTO peel_produits (

reference

, nom

, description

, prix

, descriptif

, image1

, image2

, image3

, image4

, pdf

, lang

, promotion

, stock

, tva

, etat

, date_insere

, date_maj

, on_special)

VALUES (

'$frm[reference]'

, '$nom'

, '$description'

, '$frm[prix]'

, '$descriptif'

, '$img1'

, '$img2'

, '$img3'

, '$img4'

, '$pdf'

, 'fr'

, '$frm[promotion]'

, '$frm[stock]'

, '$frm[tva]'

, '$frm[etat]'

, now()

, now()

, '$frm[on_special]')

");

Et modifier la fonction maj_produit par

valide($frm['on_special']);

$nom = addSlashes($frm['nom']);

$description = addSlashes($frm['description']);

$descriptif = addSlashes($frm['descriptif']);

/* Met à jour la table produits */

$qid = mysql_query("

UPDATE peel_produits SET

reference = '$frm[reference]'

,nom = '$nom'

,description = '$description'

,prix = '$frm[prix]'

,descriptif = '$descriptif'

,image1 = '$img1'

,image2 = '$img2'

,image3 = '$img3'

,image4 = '$img4'

,pdf = '$pdf'

,lang = 'fr'

,promotion = '$frm[promotion]'

,stock = '$frm[stock]'

,tva = '$frm[tva]'

,etat = '$frm[etat]'

,date_maj = now()

,on_special = '$frm[on_special]'

WHERE id = $id

");

A partir de là on peut gérer la quantité en stock dans les deux pages (produits et stock) comme recherché

Cdlt

Fabrice

www.etroc-mode.fr

Testé en local=>super; j'ai les 2 façons :D

Share this post


: post
Share on other sites

Posted · Report post

pour enlever le stock commander, changer la fonction creer_commande dans fonctios.php par ceci

function cree_commande(&$commande) {

// Enregistre la commande dans la base 


	global $normal;

	global $express;

	global $site;

	global $support;

	global $wwwroot;



	// Constuit les infos du client en une chaîne

	// Addresse de facturation

	$client_info1 =

		 $commande['client1']."\n"

		.$commande['adresse1']."\n"

		.$commande['code_postal1']."\n"

		.$commande['ville1']."\n"

		.$commande['pays1']."\n"

		.$commande['contact1']."\n"

		.$commande['email1']."\n";


	// Addresse de livraison

	$client_info2 =

		 $commande['client2']."\n"

		.$commande['adresse2']."\n"

		.$commande['code_postal2']."\n"

		.$commande['ville2']."\n"

		.$commande['pays2']."\n"

		.$commande['contact2']."\n"

		.$commande['email2']."\n";	


	// Calcul le panier total T.T.C

	$caddie_total = $_SESSION['caddie']->total + $_SESSION['caddie']->cout_transport;


	$sql = "

	INSERT INTO peel_commandes (

		email

		,id_utilisateur

		, o_timestamp

		, statut

		, statut_details

		, client_info1

		, client_info2

		, commentaires

		, montant

		, paiement

		, transport

		, cout_transport

	) VALUES (

		 '{$_SESSION['utilisateur']['email']}'

		,'{$_SESSION['utilisateur']['id_utilisateur']}'

		,now()

		,1

		,'attente de r&egrave;glement'

		,'".addslashes($client_info1)."'

		,'".addslashes($client_info2)."'

		,'".addslashes($commande['commentaires'])."'

		,'".$caddie_total."'

		,'".$_SESSION['caddie']->paiement."'

		,'".$_SESSION['caddie']->transport."'

		,'".$_SESSION['caddie']->cout_transport."'

	)";


	$qid = mysql_query($sql);


	$commandeid = mysql_insert_id();


	/* ajout des articles à la table commandes_articles */

	$qid = recupere_articles_caddie();


	if ($qid) {


		if (mysql_num_rows($qid) > 0) {


			while ($article = mysql_fetch_array($qid)) {


				$prix = $article['prix'] * (1-$article['promotion']/100);


				$requete = 	"INSERT INTO peel_commandes_articles (

					commande_id, produit_id, nom_produit, prix, quantite, promotion, tva

				) VALUES (

					 '$commandeid'

					,'".$article['id']."'

					,'".addslashes($article['nom'])."'

					,'".$prix."'

					,'".$_SESSION['caddie']->articles[$article['id']]."'

					,'".$article['promotion']."'

					,'".$article['tva']."'

				)";

				mysql_query($requete);	



				$st = mysql_fetch_array(mysql_query("SELECT stock FROM  peel_produits WHERE id = '".$article['id']."'"));



				$stock = $st['stock'] - $_SESSION['caddie']->articles[$article['id']];


				if ($stock >= 0) { $stock_à_update = $stock; } else {	$stock_à_update = 0;	}

				if ($stock <= 0) 

				{


				// Mail à l'adresse de l'admin pour recharger le stock


				$Stock_a_zero = "Attention: Le produit '".addslashes($article['nom'])."' n'as plus de stock"; 

				mail($support,

				"Alerte Stock",

				$Stock_a_zero,

				"FROM:$support");

				// on fera ensuite une propriété en ligne ou non quand pas en stock

				$requete_non_online = 	"UPDATE peel_produits SET etat = 0 WHERE id = '".$article['id']."'";

				mysql_query($requete_non_online);	

				}


				$requete_stock = 	"UPDATE peel_produits SET stock = $stock_à_update WHERE id = '".$article['id']."'";

				mysql_query($requete_stock);	




			}

		}

	}


	return $commandeid;

}

Share this post


: post
Share on other sites

Posted · Report post

pour enlever le stock commander, changer la fonction creer_commande dans fonctios.php par ceci

function cree_commande(&$commande) {

// Enregistre la commande dans la base 


	global $normal;

	global $express;

	global $site;

	global $support;

	global $wwwroot;



	// Constuit les infos du client en une chaîne

	// Addresse de facturation

	$client_info1 =

		 $commande['client1']."\n"

		.$commande['adresse1']."\n"

		.$commande['code_postal1']."\n"

		.$commande['ville1']."\n"

		.$commande['pays1']."\n"

		.$commande['contact1']."\n"

		.$commande['email1']."\n";


	// Addresse de livraison

	$client_info2 =

		 $commande['client2']."\n"

		.$commande['adresse2']."\n"

		.$commande['code_postal2']."\n"

		.$commande['ville2']."\n"

		.$commande['pays2']."\n"

		.$commande['contact2']."\n"

		.$commande['email2']."\n";	


	// Calcul le panier total T.T.C

	$caddie_total = $_SESSION['caddie']->total + $_SESSION['caddie']->cout_transport;


	$sql = "

	INSERT INTO peel_commandes (

		email

		,id_utilisateur

		, o_timestamp

		, statut

		, statut_details

		, client_info1

		, client_info2

		, commentaires

		, montant

		, paiement

		, transport

		, cout_transport

	) VALUES (

		 '{$_SESSION['utilisateur']['email']}'

		,'{$_SESSION['utilisateur']['id_utilisateur']}'

		,now()

		,1

		,'attente de r&egrave;glement'

		,'".addslashes($client_info1)."'

		,'".addslashes($client_info2)."'

		,'".addslashes($commande['commentaires'])."'

		,'".$caddie_total."'

		,'".$_SESSION['caddie']->paiement."'

		,'".$_SESSION['caddie']->transport."'

		,'".$_SESSION['caddie']->cout_transport."'

	)";


	$qid = mysql_query($sql);


	$commandeid = mysql_insert_id();


	/* ajout des articles à la table commandes_articles */

	$qid = recupere_articles_caddie();


	if ($qid) {


		if (mysql_num_rows($qid) > 0) {


			while ($article = mysql_fetch_array($qid)) {


				$prix = $article['prix'] * (1-$article['promotion']/100);


				$requete = 	"INSERT INTO peel_commandes_articles (

					commande_id, produit_id, nom_produit, prix, quantite, promotion, tva

				) VALUES (

					 '$commandeid'

					,'".$article['id']."'

					,'".addslashes($article['nom'])."'

					,'".$prix."'

					,'".$_SESSION['caddie']->articles[$article['id']]."'

					,'".$article['promotion']."'

					,'".$article['tva']."'

				)";

				mysql_query($requete);	



				$st = mysql_fetch_array(mysql_query("SELECT stock FROM  peel_produits WHERE id = '".$article['id']."'"));



				$stock = $st['stock'] - $_SESSION['caddie']->articles[$article['id']];


				if ($stock >= 0) { $stock_à_update = $stock; } else {	$stock_à_update = 0;	}

				if ($stock <= 0) 

				{


				// Mail à l'adresse de l'admin pour recharger le stock


				$Stock_a_zero = "Attention: Le produit '".addslashes($article['nom'])."' n'as plus de stock"; 

				mail($support,

				"Alerte Stock",

				$Stock_a_zero,

				"FROM:$support");

				// on fera ensuite une propriété en ligne ou non quand pas en stock

				$requete_non_online = 	"UPDATE peel_produits SET etat = 0 WHERE id = '".$article['id']."'";

				mysql_query($requete_non_online);	

				}


				$requete_stock = 	"UPDATE peel_produits SET stock = $stock_à_update WHERE id = '".$article['id']."'";

				mysql_query($requete_stock);	


			}

		}

	}


	return $commandeid;

}

Bon travail, j'ai testé en local tout fonctionne.

Moi je remettais seulement le stock à jour, sans alerte email et je laissais le produit en ligne :D :wub:

Share this post


: post
Share on other sites

Posted · Report post

C'est donc pret à être repris par mr Ruault ?

Willy

Share this post


: post
Share on other sites

Posted · Report post

pas encore, il faut référencé les manips à faire!

et puisque nous y sommes, mettre à jour toutes les erreurs déjà référencées depuis la 2.9.3

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

atila, si tu a besoin du site de test pour tester le stock,

alors ne te gènne pas !!

c'est ma petite contrib...

à bientôt...

Share this post


: post
Share on other sites

Posted · Report post

à toi je te l'implementerai sans probleme !petit malin :D

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

je suis comme toi en ce moment c'est le boom !!

quand j'ai le temps je le fait moi même !!

et tu connais mon point de vue sur l'histoire du stock et les faux acheteurs !!

à bientôt yoh...

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
Sign in to follow this  
Followers 0

Twitter Advisto ecommerce

Facebook PEEL Shopping