Aquarelle

Utilisateur open source
  • Compteur de contenus

    153
  • Inscrit(e) le

  • Dernière visite


Messages posté(e)s par Aquarelle


  1. c'est une variation pas inintéressante mais ça dépend de ce qu'on commande je dirai. Il faudrait y inclure la masse de ce qu'il y a dans le panier pour que ce soit vraimant intéressant. On peut commander du léfer et qui coute cher comme du lourd et du pas cher...... Alors c'est forcement injuste...

    Oui exact, je pense que chaque boutique à des problémes spécifiques pour les frais de ports. Il faut évaluer le cout réel de l'expédition par les transporteurs par rapport aux poids des produits. A ce moment là on peut créer un champs "poids" dans la table produit et créer des ports suivant le poids :blink: :blink: ;)


  2. tu dis :

    (floatval(fprix($_SESSION['caddie']->total))<90)

    mais si le total fait 20 ? c'est moins que 60 et moins que 30

    si le total est 20 c'est

    (floatval(fprix($_SESSION['caddie']->total))<30)

    qui est pris en compte, j'ai testé et ça fonctionne.

    Maintenant il se peut que mon code ne soit pas parfait, je débute

    je retourne faire des tests et je reviens


  3. ;) Je continue mon apprentissage du php...........

    Il pourrait être interessant pour certaines boutiques d'avoir des frais de ports en fonction du montant de la commande

    Pour mettre automatiquement ces frais de port au moment de la commande, voici un exemple

    Soit 4 frais de port différents selon le prix

    PORT_1..Achat<30 euros : frais de port = 5,10 euros

    PORT_2..Achat de 30 euros et <60 euros : frais de port = 8,00 euros

    PORT_3..Achat de 60 euros et <90 euros : frais de port = 10,00 euros

    PORT GRATUIT ! Achat de 90 euros et plus :

    modifiez les variables d'origine par $port_1, $port_2, $port_3 et $portgratuit dans tous les fichiers où elles se trouvent

    :blink: :blink:

    lib/setup/info.inc.php

    achat/modeles/achat_confirmation.php

    achat/modeles/achat_maintenant.php

    achat/achat_maintenant

    Dans achat/modeles/achat_maintenant.php vers la ligne 114 environ remplacer

    	<td class="normal">Frais de port * :</td>
    
    	<td class="normal">
    
     	<select class="formulaire1" name="transport">
    
    			<option value="normal" <?php if($transport == "normal") echo "selected" ?>>Normal</option>
    
    			<option value="express" <?php if($transport == "express") echo "selected" ?>>Express</option>
    
    	</select>
    
    	</td>
    par
    	<td class=normal>Frais de port* :</td>
    
    	<td class=normal>	  
    
    	  <p align="justify">
    
    <select class="normal" name="transport">
    
    		   								<?php
    
    										if 
    
    
    (floatval(fprix($_SESSION['caddie']->total))<30)
    
    										{
    
    										$transport=port_1;
    
    										}
    
    										elseif 
    
    
    (floatval(fprix($_SESSION['caddie']->total))<60)
    
    										{
    
    										$transport=port_2;
    
    										}
    
    										elseif 
    
    
    (floatval(fprix($_SESSION['caddie']->total))<90)
    
    										{
    
    										$transport=port_3;
    
    										}
    
    										else
    
    										{
    
    										$transport=portgratuit;
    
    										}
    
    										{
    
    										?>
    
    										<option 
    
    
    value="<?=$transport;?>"><?=$transport;?></option>
    
    										<?php
    
    										}
    
    										?>
    
    
    	</select>
    
    </td>

    j'ai testé en local, ça fonctionne: au lieu de cliquer pour choisir le port, il est affiché automatiquement suivant les critéres cités plus haut.

    Qu'en pensez-vous ?


  4. J'ai les sauvegardes nécessaires :blink: et je peux refaire tout dans l'autre sens si nécessaire. Ce que j'essaye de faire c'est de rajouter des nombres de port possible en plus que les deux express et normal. J'ai donc modifié des fichiers comme variables, achat_maintenant et j'ai vérifié que le fichier info.inc se modifie (ce qui est le cas) mais cela reste sans effet. Même en supprimant la variable express si je l'appelle dans achat_maintenant elle existe encore (en prenant la valeur de celle que j'ai renommée à sa place).

    Bref j'ai ajouté des variables et renommée express et ça ne fait rien dans le fichier achat_maintenant.

    je vais mettre les sources.... tout de suite

    merci

    ici le fichier variable modifié

    et

    Et ici lib/setup/info.inc.php

    et achat/modeles/achat_confirmation.php

    et achat/modeles/achat_maintenant.php

    et achat/achat_maintenant ;)


  5. Bonjour !

    je désire les modifier mais popur le moment ça résiste alors pourquoi ?

    le fichier variables a été modifié (plus d'express !)

    le fichier info.inc se modifie bien

    j'ai modifié le fichier function

    j'ai modifié le modèle php et de saisie de achat_maintenant et c'est comme si express existait toujours alors ou se cache-telle ? Les nouvelles n'existent toujours pas.

    C'est un peu confus que veux tu faire exactement ? ;)


  6. Merci à Willy, Jcdhl, Atila-diffusion et Vidubz001 pour leur précieuse collaboration.

    LIbre à vous de l'utiliser. Le principe de cette gestion est de gérer sur la même page tous les articles, ou de gérer sur la fiche produit.

    Avant de commancer faites des sauvegardes de vos fichiers.

    --Créez un champ "stock" dans la table "peel_produits" (type int(5), attributs UNSIGNED,Null Non.

    Dans le fichier administrer/modeles/haut.php, rajouter la ligne

    <a href="<?php echo $wwwroot?>/administrer/stock.php">Gérer les stocks</a>
    Dans le répertoire administrer mettez le fichier "stock.php"ci-dessous
    <?php
    
    include("../configuration.inc.php");
    
    
    necessite_identification();
    
    
    necessite_priv("admin");
    
    
    $DOC_TITLE = "Gérer les stocks";
    
    
    include("modeles/haut.php");
    
    ?>
    
    <?php
    
    if ($_POST["submit_ajouter"])
    
    {
    
    	$id=$_POST["temoin"];
    
    	$qty=$_POST["ajouter_".$id];
    
    	mysql_query("UPDATE peel_produits SET stock=stock+$qty WHERE id='$id'");
    
    }
    
    if ($_POST["submit_supprimer"])
    
    {
    
    	$id=$_POST["temoin"];
    
    	$qty=$_POST["supprimer_".$id];
    
    	mysql_query("UPDATE peel_produits SET stock=stock-$qty WHERE id='$id'");
    
    }
    
    if (!isset($tab_error))
    
    {
    
    	$tab_error=array();
    
    }
    
    
    ?>
    
    <div align="center"><font style="font-size:13px"><b>Gestion des Stocks </b></font>
    
    <br><br>
    
    <?php
    
    $result_peel_produits=mysql_fetch_row(mysql_query("SELECT COUNT(id) FROM peel_produits"));
    
    if ($result_peel_produits[0]==0)
    
    {
    
    	?>
    
    	<div align="center">Aucun produit pour le moment, gestion des stocks fermée !</div>
    
    	<?php
    
    }
    
    else
    
    
    {
    
    ?>
    
    <form style="margin:Opx" method="post" action="#" name="form_stock">
    
    <table align="center" cellpadding="4" cellspacing="1" border="0">
    
    	<tr bgcolor="#666666">
    
    		<td align="left" style="color:#FFFFFF">Apercu</td>
    
    		<td align="left" style="color:#FFFFFF">Produit</td>
    
    		<td align="left" style="color:#FFFFFF">Stock</td>
    
    	</tr>
    
    	<?php
    
    	$cpt=0;
    
    	$query_stock = mysql_query("SELECT * FROM peel_produits");
    
    	while ($result_peel_produits = mysql_fetch_assoc($query_stock))
    
    	{
    
    		if ($cpt%2==0)
    
    		{
    
    			$bgcolor="CCCCCC";
    
    		}
    
    		else
    
    		{
    
    			$bgcolor="DEDEDE";
    
    		}
    
    	?>
    
    	<tr bgcolor="<?=$bgcolor;?>">
    
    		<td>
    
    	<img src="<?php echo $repertoire_images?>/<?php echo $result_peel_produits['image1'] ?>" valign="top" width="150" alt="" /></td>
    
    
    		<td style="color:000000; font-size:14px" align="left" width="250" nowrap><b><?php echo $result_peel_produits["nom"];?></b>
    
    		</td>
    
    		<td align="left">
    
    		<font style="font-size:13px"><b>En stock:</b> <? if ($result_peel_produits["stock"]==0) { ?><font color="#FF0000"><? } ?><?php echo $result_peel_produits["stock"];?><? if ($result_peel_produits["stock"]==0) { ?></font><? } ?></font><br><br>
    
    		Ajouter:    
    
    		<input type="text" value="1" name="ajouter_<?php echo $result_peel_produits["id"];?>">		  
    
    		<input type="submit" value="ok" name="submit_ajouter" onClick="document.getElementById('temoin').value='<?php echo $result_peel_produits["id"];?>'"><br>
    
    		Supprimer: <input type="text" value="1" name="supprimer_<?php echo $result_peel_produits["id"];?>">  
    
    		<input type="submit" value="ok" name="submit_supprimer" onClick="if (this.value><?php echo $result_peel_produits["stock"];?>)
    
    		{ alert('Vous ne pouvez pas supprimer plus que vous n\'avez en stock !'); return false;
    
    		} else {
    
    		 document.getElementById('temoin').value='<?php echo $result_peel_produits["id"];?>'; }">
    
    		</td>
    
    	</tr>
    
    	<?php
    
    	$cpt++;
    
    	}
    
    	?>
    
    </table>
    
    <input type="hidden" name="temoin" value="0">
    
    </form>
    
    <?
    
    }
    
    ?>
    
    <br>
    A ce stade vous avez dans le backoffice un lien "Gérer les stocks"que vous pouvez utiliser pour obtenir ceci stock.jpg Bon c'est tout pour ce soir, je vais préparer la suite. Finalement je continu la suite Dans index.php vers lignes 36 environ, rajouter dans le select: stock vers lignes 92 modifiez le formulaire comme ceci pour afficher le stock dans la liste déroulante
    					<form method="post" action="<?php echo $wwwroot?>/achat/caddie_ajout.php" name="ajout<?php echo $prod['id'] ?>">
    
    
    <input type="hidden" name="stock" value="<? echo $prod['stock']; ?>">
    
    <span class="impression" >
    
    <? if ($prod['stock']>0){
    
    ?>
    
    Quantité : 
    
    <select name="qte" class="formulaire1">
    
    						<?php 
    
    // Affiche la quantité en stock
    
    							 $i=1;
    
    						while ($i<=$prod['stock'])
    
    			   {
    
    						echo "<option value=\"$i\">$i</option>";
    
    							 $i++;
    
    			   }
    
    			   }
    
    ?>
    
    </select>
    Dans achat/modeles/produit_details.php vers lignes 130 faire la même modif Dans achat/index.php vers lignes 130 même modif et vers lignes 74 rajouter dans le select p.stock Dans achat/produit_details.php versligne 48 dans le select rajouter p.stock J'espére n'avoir rien oublié Un petit probléme à résoudre.L'on peut commander plus que le stock. Donc pour corriger ce probméme faites ceci: Dans le fichier lib/class/caddie.php ligne 23 remplacez la fonction ajout par celleci
    	function ajout(&$produitid, $quantite,$stock) {
    
    	/* Ajoute un article au caddie et met à jour le montant total */
    
    		if (isset($produitid)) {
    
    
    			if (! isset($this->articles[$produitid])) {
    
    
    				$this->articles[$produitid] = 'O';
    
    
    			}
    
    
    			$this->articles[$produitid] += $quantite;
    
    			if ($this->articles[$produitid]>$stock)
    
    			{
    
    			$this->articles[$produitid]=$stock;
    
    			}
    
    
    		}
    
    	}
    Dans fichier achat/caddie_ajout.php on ajoute $_REQUEST['stock']
    <?php 
    
    
    include("../configuration.inc.php");
    
    
    $_SESSION['caddie']->ajout($_REQUEST['id'], $_REQUEST['qte'], $_REQUEST['stock']);
    
    $_SESSION['caddie']->nettoie();
    
    $_SESSION['caddie']->recalc_total();
    
    
    $HTTP_REFERER = $_SERVER['HTTP_REFERER'];
    
    
    if (! empty($HTTP_REFERER)) {
    
    	header("Location: $HTTP_REFERER");
    
    } else {
    
    	header("Location: $wwwroot/index.php");
    
    }
    
    ?>
    Je peux donc tester lors de l'ajout si la quantité voulue n'est pas supérieure à la quantité disponible. Dans fichier achat/modeles/caddie.php, il faut chercher la ligne : <input type="text" size="3" name="quantite[]" value="<?php echo $quantite?>" /> Et la remplacer par :
    <select name="quantite[]" class="formulaire1">
    
    <?php // Affiche la quantité en stock
    
    $i=1;
    
    while ($i<=$prod['stock'])
    
    {
    
    echo "<option value=\"$i\"";
    
    if ($i==$quantite) {echo" selected";}
    
    echo " >$i</option>";
    
    $i++;
    
    }
    
    ?>
    
    </select>
    De cette façon, on a une liste déroulante avec la quantité en stock. La condition sert à sélectionner la quantité qu'on a ajouté. Il ne faut pas oublier de modifier la fonction "recupere_articles_caddie" dans le fichier lib/fonctions/fonctions.php vers ligne 414 pour avoir le stock disponible. rajoutez "stock" dans le select
    $requete = "SELECT id, reference, nom, promotion, prix, tva, stock FROM peel_produits WHERE id IN ($in_clause)";
    ahhhhhhhhh j'oubliais le plus important: mettre à jour les stocks au moment de la commande et si stock = 0, alerte émail et le produit n'est plus en ligne. Dans lib/fonctions/fonctions.php dans function cree_commande à la fin juste entre mysql_query($requete); et return $commandeid; insérez le code suivant
    											$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);	
    
    				}
    
    		}
    
    	}
    A ce stade on gére le stock sur une page à part. On peut rajouter une gestion sur la fiche produit. 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) Notre ami Castalibre, nous donne un script pour mettre à jour le stock si la commande est annulée Dans le fichier administrer/commandes.php, on peut remplacer la fonction efface commande par celle ci :
    function efface_commande($id) {
    
    /* Efface la commande dont le n° est $id */
    
    
    	global $wwwroot;
    
    	$articles_commande=mysql_query("select * from peel_commandes_articles where commande_id='$id'");
    
    	$nombre_articles=mysql_num_rows($articles_commande);
    
    	for($i=1;$i<=$nombre_articles;$i++) {
    
    		$fiche=mysql_fetch_object($articles_commande);
    
    		$produit=$fiche->produit_id;
    
    		$quantite=$fiche->quantite;
    
    		$article_maj=mysql_query("update peel_produits set stock=stock+$quantite where id='$produit'");
    
    	}
    
    
    
    	$efface_commandes = mysql_query("DELETE FROM peel_commandes WHERE id = '$id'");
    
    	$efface_commandes_articles = mysql_query("DELETE FROM peel_commandes_articles WHERE commande_id = '$id'");
    
    	include("modeles/commande_efface.php");
    
    }
    Si le script au moment de la commande met l'article "hors ligne" si stock=0, il faut remettre cet article en ligne puisque stock positif
    	// on remet le produit en ligne  quand  stock positif
    
    				$requete_online = "UPDATE peel_produits SET etat =1 WHERE id = '".$produit."'";
    
    				mysql_query($requete_online);


  7. Bonjour à tous,

    Je vous décrit mon problème, j'essaie de mettre mon site en ligne, j'ai bien exporté ma base de donnée sur mon hébergeur, j'ai upload toutes les pages, et j'ai des erreurs un peu partout. Je vous donne l'adresse du site "http://www.conceptdentaire.fr". Si vous avez des idées, je vous en serré très reconnaissant.

    Merci d'avance.

    As tu suivis les instructions ici

    aprés l'exécution de "installer.php" t'as bien renseigné les variables..On dirait que ton site cherche à se connecter en local.

    le fichier info.inc.php est bien en CHMOD 777


  8. Pas de probléme, mais ce n'est pas parfait

    Dans la liste déroulante du produit je n'affiche que la quantité dispo, mais ensuite le client peut revenir sur la page recliker alors meme qu'il vient de commander tout ce qu'il restait

    Il y a plusieurs façons de gérer les stocks

    -->sur la fiche produit, certains préférent.

    -->sur une page à part dans l'admin. Tout dépend du nombre de produits et du renouvellement de stock à faire

    Pour ma part je gére sur la même page tous les produits qui s'affichent avec la photo, le nom , le stock avec ajouter et supprimer

    stock.jpg

    Tu as commencé à codé ?


  9. Bonjour à tous,

    N'ayant pas IE je suis coincé pour tester un nvx menu que je viens d'installer et soi disant compatible IE6 et plus Je suis sur mac et n'ai que IE5

    Est ce que qqun sur PC avec IE6 ou plus pourrait me dire si ce menu horizontale s'explose ou non svp

    Merci par avance

    Site : www.floraclic.fr

    La Fleur

    tester avec ie6 correct

    un seul lien dans "s'identifier" et "la boutique" correct ?


  10. Dommage que Cedric n'ai pas donné la solution du problème, car j'ai exactement le même, et je ne sais pas comment m'en sortir:

    - j'ai installé le script sur un serveur où j'ai déjà installé plusieurs autres scripts accédant à une base mysql.

    - l'installation semble s'être passé normalement (2 tentatives)

    - quand je lance la page d'administration, j'ai du code php qui apparait dans le haut de la page m'indiquant que le script n'a pu se connester à la base de donnée (erreur 201), et un mail m'indiquant qu'il y a un problème.

    ayant déjà installé plusieurs scripts similaires sans soucis particulier, je pense qu'il s'agit d'un problème de paramétrage du script lui-même (comment trouve-t-il la racine?), mais je ne sais pas par où commencer.

    Je précise que je suis sur un serveur linux, apache version 1.3.37, php 4.4.4, mysql 4.1.21

    Merci d'avance si quelqu'un peut me donner un coup de main ou une piste

    alain

    Ton site est en ligne ou en local ?

    si en ligne => as tu bien suivi les instruction icil


  11. merci de votre aide par contre ou trouver un bon script de "upload" on a beau rechercher on ne trouve pas car on aimerais un script d upload qui des que la personne s incrie ou envoie une video ou photo un dossier se cree sur le ftp au nom ou code de cette personne et sa on ne trouve pas merci de votre aide

    Tu connais la recherche de codes dans google c'est ici ;)


  12. C'est celle là:
    .$_SESSION['caddie']->articles[$article['id']]

    Willy

    TRop fort Willy et disponible, merci ça fonctionne super, ma gestion est terminée pour l'instant.

    J'affiche tous les produits sur la même page avec photo , nom, et stock avec "ajouter et supprimer"

    Dans le front office, dans la liste déroulante "ajouter au panier" le nombre correspond au stock réel.Donc on ne peut commander plus que le stock Quand le stock est à zero j'affiche "0" et "stock épuisé" mais le produit reste visible mais on ne peut pas ajouter au panier.

    Au moment de la commande, je met à jour le stock.


  13. J'ai presque finis ma gestion de stock il me reste le plus important. Décrémenter au moment de la commande.

    Dans function cree_commande, je ne trouve pas de variable qui correspond à la quantité de produits pour retrancher du stock

     	/* 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']."'
    
    					)";
    
    				$query_stock = mysql_query("SELECT stock FROM peel_produits WHERE id =".$article['id']."");
    
    					{
    
    	mysql_query("UPDATE peel_produits SET stock=stock-"ICI IL ME MANQUE UNE VARIABLE " WHERE id =".$article['id']."")
    
    		   or DIE('Une erreur de connexion a la base s\'est produite ' . _LINE_ . '.<p>' . MYSQL_ERROR());	
    
    }
    
    
    				mysql_query($requete);

    Si quelqu'un pouvait m'aider

Twitter Advisto ecommerce

Facebook PEEL Shopping