Aquarelle

Utilisateur open source
  • Compteur de contenus

    153
  • Inscrit(e) le

  • Dernière visite


Messages posté(e)s par Aquarelle


  1. Oui la base de donnees est creee dans phpadmin, pour le copier coller c'est ce que je fait

    mais il s'arrette avant d'avoir tout executer en me donnant une erreur de sintaxe, d'aprés ce que je traduit de l'anglais.

    MySQL a répondu:

    #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=latin1 AUTO_INCREMENT=1' at line 16

    apparement c'est le nombre auto_increment qui ne va pas, moi en local j'en ai 9 et en ligne 13 qui correspond au nombre de champs de la table


  2. Oui la base est créee mais impossible d'executer le sql,

    ca me donne l'erreur que j'ai donner dans le post plus haut.

    moi en local j'ai çà

    CREATE TABLE `peel_articles` (
    
      `id` int(11) NOT NULL auto_increment,
    
      `surtitre` varchar(255) NOT NULL default '',
    
      `titre` varchar(255) NOT NULL default '',
    
      `texte` text NOT NULL,
    
      `image1` varchar(255) NOT NULL default '',
    
      `pdf` varchar(255) NOT NULL default '',
    
      `on_special` tinyint(4) NOT NULL default '0',
    
      `date_insere` date NOT NULL default '0000-00-00',
    
      `date_maj` date NOT NULL default '0000-00-00',
    
      `lang` char(3) NOT NULL default '',
    
      `chapo` text NOT NULL,
    
      `etat` int(1) NOT NULL default '0',
    
      `position` int(11) NOT NULL default '0',
    
      PRIMARY KEY  (`id`),
    
      KEY `name` (`titre`)
    
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9;

    2éme ligne" auto_increment" en minuscule

    et derniére ligne =9

    je sais pas a quoi correspond ce nombre


  3. merci, c'est en passant par le back office que ca bloque, j'ai essayé plusieurs fois comme tu me l'indique mais ca fonctionne pas, de plus les photos sont bien presentes dans la bdd, j'ai supprimer la categorie dans la bdd et je suis passé par le Backoffice de mon site mais ca fait toujours le meme probleme !!!

    j'ai meme essayé en reduisant les photos a 400 pix, mais des que j'enregistre le changement apres avoir donner le chemin de la photo, la categorie s'efface dans le backoffice. Elle appairait bien sur la page d'acceuil de la boutique mais impossible de rentrer dans la categorie.

    et dans la bdd elle est correct avec une id

    tu dois pas le faire correctement,

    nouvelle catégorie =>regarde bien en haut que "à la racine " est sélectionné, sinon tu crée sur une autre catégorie


  4. Bonsoir a tous,

    Mon nouveau petit soucis , est le suivant:

    Lorsque je veux inserer une photo pour une categorie en page d'acceuil, la categorie disparait dans mon admin. La photo apparait bien sur la page d'acceuil, mais plus moyen d'ouvrir la categorie avec une erreur de page introuvable.

    je rappelle que je suis toujours sur localhost, et que je travaille sur easyphp 1.8

    Merci d'eclairer ma lanterne, en esperant que je me suis bien expliqué.

    REgarde dans la bdd si tu as toujours la catégorie

    clic sur la table catégorie aprés sur "afficher" et là tu as toutes tes catégories avec l'id, l'image etc..Si celle qui s'affiche plus est présente supprime la et recrée la dans le backoffice.

    Tu as du créer une catégorie sur une autre


  5. Salut tout le monde, je tiens deja a vous remerciez pour ce superbe travaille .

    j ai juste remarquer que dans le tuto du script il y a juste une petite erreur d indication de ligne, c est pas grand chose mais pour les personne aussi doué que moi en php c est complexe lol.

    A la place de la ligne 123 c est la ligne 36 voila voila.

    Sinon ca marche tres bien , mais quand j affiche le stock séparé de la page produit impossible d'ajouter du stock mais sinon sur la page produit aucun soucis et vu que je me sert que de la gestion de stock par la page produit ca ne me pose pas de probleme, je tenais juste a le signaler .

    Merci encore @+

    C'est corrigé, j'avais mis par rapport à mon fichier qui est pas mal rallongé.Par contre pour la gestion à part il doit manquer quelque chose dans ton fichier stock.php. T'as bien fais un copier/coller ? :D


  6. Bon je viens de tout reinstaller, peel et easy version 1.8

    apparemment tout est rentré dans l'ordre,

    Surement que j'ai du faire une mauvaise manip avant. Je ne sais pas.

    Maintenant ca fonctionne c'est le principal.

    Merci a tous de votre aide, j'espere arriver avotre niveau car vos sites sont tous geniaux !!! :wub:

    Il faut mettre les pieds dans mysql et la tête dans php et beaucoup de lecture :D :D


  7. :D Bon j'ai resolu mon probléme en reinstallant easy php, parcontre en version Beta1.

    J'arrive donc correctement sur la boutique que j'ai crée, malheureusement, pas moyen d'aller dans l'admin de la boutique. :D

    Un message d'erreur s'affiche quand je clique sur " s'identifier" :wub:

    Notice: Undefined variable: HTTP_POST_VARS in \peel2.9.3\membre.php on line 6

    Merci a tous de votre aide, desolé je suis vraiment novice.:D

    "

    Peut être la configue de ton fichier ini.php .Tu fais un clic droit sur l'icone easyPhp et tu clics sur "php" et regarde la ligne "- error_reporting = E_ALL & ~E_NOTICE

    SI "~E_NOTICE" est enlevé toutes les erreurs sont affichées. :D


  8. Nikel !

    Avec toutes ces modifs j'ai un probléme

    Lors de l'ajout au panier d'un produit, le montant total du panier affiche 0,00eurosTTC par exemple avec Nb de produits sélectionnés = 3

    Sur la page caddie-affichage j'ai le prix total correct

    Mon bon de commande est correct mais sur "confirmation" j'ai juste le port qui s'affiche.

    Donc le probléme est ici au niveau de l'echo, je récupére pas la bonne valeur

    		Montant total du panier :<br /> <font color="#CC0000"><b><?php echo fprix($_SESSION['caddie']->total); ?> € T.T.C</b></font>

    Trouvé, j'ai écrasé la class caddie par celle d'origine et refais la modif dans function ajout modifiée


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


  10. J'ai ete chercher les .sql dans MAMP/db/mysql , là j'ai pris le dossier de ma base de donnée crée dans phpadmin, que j'ai glissé dans Cyberduck pour enfin le mettre dans ma bdd du serveur.

    il me semble que la mise a jour de info.inc.php est faite, car j'arrive sur la page d'acceuil de la boutique!

    Je vais suivre tes instructions et refaire l'instal, a suivre.

    l'adresse de ta boutique


  11. Bonjour,

    Je sais que ce sujet a ete traité mainte fois, j'ai lu bien de postes sur ce sujet mais mon probleme reste entier!

    Voila le message que j'obtient:

    Une erreur de connexion à la base s est produite 201.

    Table 'db0986502.peel_articles' doesn't exist

    Et pourtant j'ai mi mes tables dans ma base sql

    voici comment j'ai procedé:

    -ouverture de MAMP (easyphp pour Mac) cration d'une base XXX, remplissage du formulaire.

    -transfert de la boutique chez mon hebergeur, changement CHMOD 666 le fichier info.inc.php et le dossier upload (qui est vide? impossibilité de telecharger le contenu via FTP)

    -transfert de ma base de donnée crée sur MAMP dans ma base de donnée du serveur

    -effacement de peel.sql

    voila, j'ai testé en mettant aussi le fichier sql trouvé dans lib/sql directement dans ma base de donée et tjs le meme message!

    En esperant avoir ete suffisammant clair pour que vous puissiez m'aider.

    tu peux donner l'adresse de ta boutique

    tu as un accés à ta base de donnée en ligne; vérifie que toutes tes tables sont bien installées


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


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


  14. Dans la page 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 changer la fonction "recupere_articles_caddie" dans le fichier fonction.php pour avoir le stock disponible.

    juste la requete sql :

    $requete = "SELECT id, reference, nom, promotion, prix, tva, stock FROM peel_produits WHERE id IN ($in_clause)";

    jcdhl

    Bon tout est OKKKKKKK !

    J'avais mis la boucle de la fiche produit et bien sur lorsque je cliquais sur mettre à jour mon caddie se vidait

    Maintenant tout marche

    Si tu es d'accord, j'essaye de récupérer tous les morceaux de codes que tu as fournis et je met à jour mon premier post tout en haut. Comme ça on regroupe tout c'est mieux .

    merci :D


  15. J'ai crée le champ stock dans la table peel_produit

    Sur la page achat/index.php je crée un champ de type 'hidden' pour mettre le stock et j'affiche le stock disponible sous forme de liste déroulante :

    J'utilise cette même liste déroulante pour le caddie et pour la fiche détail du produit.

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

    Et ensuite, j'ai modifié la page caddie_ajout.php comme ceci :

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

    Cordialement

    jcdhl

    j'ai pas la même boucle que toi, j'ai essayé ton code et j'ai l'erreur

    Parse error: parse error in c:\program files\easyphp1-8\www\aquarelle\lib\class\caddie.php on line 36
    ligne 36
    $this->articles[$produitid]=$stock];

    la boucle" while" (la tienne) ou la boucle "for" (la mienne) fonctionne bien

    Le probleme est la récupération de la variable $stock .Dans ton code je vois pas ou tu l'a déclaré au départ

    Si je met la ligne 36 en commentaire=>plus d'erreur, l'ajout au panier fonctionne mais sans la condition


  16. Voila ma fonction ajout modifiée :

    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;

    }

    }

    }

    J'ai ajouté la variable stock qui contient la quantité en stock

    jcdhl

    on peut voir ou tu déclare ta variable $stock


  17. A chaque fois, je vérifie la quantité en stock et donc on ne peut pas ajouter plus que la quantité disponible.

    Je vérifie quand on clique sur ajouter à partir de la fiche produit, je vérifie quand on clique sur mettre à jour dans le caddie et je vérifie encore lors de la validation de la commande.

    Il me parait donc très difficile de commander plus que le stock.

    jcdhl

    C'est interessant, peux tu montrer les bouts de codes ? :D (histoire de partager) :wub:


  18. Bonjour,

    Voila ce que je propose pour bloquer l'ajout d'un produit au-delà d'une quantité x (fichier caddie.php)

    function ajout(&$produitid, $quantite) {

    /* 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;

    }

    foreach ($this->articles as $produitid => $quantite) {

    if ($quantite > 1) {

    $this->articles[$produitid] = "1";

    }

    }

    }

    Cdlt

    Fabrice

    As tu testé le code que tu proposes ?

    Je l'ai testé et l'on ne peut commander qu'une unité malgrés plusieurs en stock !! :D


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


  20. Bonjour,

    Je suis en train d'essayer votre gestion de stock, tout fonctionne bien mais j'ai deux points qui posent

    problème :

    Un message d'erreur dans la partie administration

    Notice: Undefined index: submit_ajouter in c:\program files\easyphp1-8\www\administrer\stock.php on line 13

    Notice: Undefined index: submit_supprimer in c:\program files\easyphp1-8\www\administrer\stock.php on line 19

    Et dans la partie site utilisateur :

    On peut ajouter un article à volonté tant que l'on n'a pas validé la commande et donc commander plus que ce qu'il y a en stock

    Avez-vous une idée de correction ?

    Je vous remercie encore pour le travail effectué ! :D

    Cdlt

    Fabrice

    Si le script fonctionne, je pense qu'il faut enlever l'affichage des notices; dans le php.ini .

    comment est la ligne ? => error_reporting = E_ALL & ~E_NOTICE

    Pour ce qui est de commander plus que le stock, je cherche une solution, mais je suis limité en php. :wub: :D

    regarde ici le manuel php

Twitter Advisto ecommerce

Facebook PEEL Shopping