Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forum osCommerce-fr _ Contributions _ Nouvelle contribution statistique produits vendus

Écrit par : paddybl 5 Nov 2007, 18:08

Bonjour a tous.

Voilà, cela faisait un petit moment que je n'avais pas réussi à proposer de nouvelle contribution pour osCommerce, aprés avoir vu le post de jguerrea qui avait besoin d'une contribution de stats sur ces produits vendus, et n'ayant pour ma part pas trouvé non plus, je vous propose aujourd'hui stats products orders.

les caractéristiques sont les suivantes:

### Description de stats products orders
Stats products orders est un utilitaire de statistiques vous permettant de connaitre pour un ou plusieurs produit(s) ou une ou plusieurs catégorie(s) données, l'ensemble des informations sur les produits vendus.

Un ensemble de sélecteurs multi-critères vous permet de filtrer les résultats de vos recherches. Ceux-ci vous permettent :
- La Sélection par fabriquant ne retournant que les catégories et les produits de celui-ci
- La sélection par catégorie(s) et sous catégorie(s)
- La sélection par produit
- La sélection par option(s)
- La sélection par date (jour,mois,année)
- La sélection par plage de dates (date de début/date de fin) (nouveau)
- La sélection par masque de commande(status)

Le(s) résultat(s) retourné(s) vous indique pour chaque produit:
- La date d'achat
- Le numéro de commande
- Le nom et prénom du client
- L'adresse (rue,code postal,ville)
- Adresse E-mail
- Le téléphone
- Le nom et/ou (le) ou les options
- La quantité achetée
- Le statut actuel de la commande
- Le montant HT
- Le montant TTC
- La méthode de paiement

des sélécteurs de page(s) vous permettent de naviguer entre les différents résultats si ceux-ci sont supérieurs à 20

Les entêtes du tableau de résultat permettent de classer la liste par ordre croissant-décroissant.

les liens de résultats permettent:
- Editer la commande
- Envoyer un E-mail
- Les ID de produits (affiché entre crochet dans la liste) permettent de définir ce produit comme critère de tri.
- Le nom du produit retourne la fiche produit
- Ajout du nom de fabriquant.
- Mise en place du "popup dynamique" affichant les infos produits (les tarifs ht et ttc, prix promo, dates,images, marges...)


Un tableau récapitulatif vous indique pour ce/ces produits, sur la période :
- Le nombre de nouveaux clients
- Le nombre de clients différents ayant effectués des achats
- Le pourcentage de nouveaux clients
- Le nombre de commandes
- Le total des ventes TTC
- Le total de Tva
- Le total HT
- les Ventes moyennes TTC
- le panier moyen par article HT

Vous pouvez imprimer les résultats facilement grace à des icones. (nouveau)

je me suis inspiré en parti du travail de xaglo avec son excellent stats customer orders

n'hésitez pas à m'indiquer des disfonctionnements éventuels.
http://addons.oscommerce.com/info/5541

Écrit par : MariahStore 6 Nov 2007, 00:26

ca a l'air tres interessant.

Je teste ca dès demain.

Merci !

Écrit par : ukumanta 6 Nov 2007, 00:34

Excellente idée !! Bravo

Je down et vois ca demain matin
merci à toi

Écrit par : paddybl 6 Nov 2007, 08:51

Merci d'avance. j'ai remodifié l'archive car j'ai juste un petit peu oublié d'ajouter les statistiques du nombre de produits vendus... shock.gif

Vous n'avez qu'à remplacer les fichiers...

A suivre

Écrit par : Gnidhal 6 Nov 2007, 09:11

Bonjour,
il y une chose qui me chiffonne un peu : tu t'appropries ce développement en en entier alors que ta contribution est largement inspirée de celle-ci http://www.oscommerce.com/community/contributions,2983
tu aurais pu d'ailleurs continuer le développement de cette contribution originale.

Maintenant coté développement, tu utilises un mode de suppression de contenu pour l'impression, alors que l'option CSS "Print" permet cela sans toucher au contenu en masquant simplement les éléments superflus.


Écrit par : paddybl 6 Nov 2007, 15:27

Je pensais avoir précisé dans mon message que je m'étais inspiré du travail de xaglo. En même temps, je ne savais pas que ce fichier faisait l'objet d'une contribution, puisque je l'ai utilisé comme base de travail depuis une version creloaded.

Maintenant coté code, celui-ci n'a plus rien avoir avec la base. j'ai crée mes fonctions, mes requètes, en fonctions des produits, catégories et options, non uniquement sur les résultat des ventes.
j'ai de plus ajouté le sélécteur de jours, la navigation par page et une petite fonction imprimer(à la va vite)

Maintenant je ne sais pas comment je dois prendre cette remarque, mon but a été d'apporter de nouvelles fonctionnalités à osC sur un besoin spécifique de jguerrea.

Ce n'est pas par ce que celà ressemblerai un peu à... que je n'ai fait que "copier". suffit justement de comparer le code non? et plus dur de le programmer.

j'espère juste que cette contribution sera utile à beaucoup.



Écrit par : tidi 7 Nov 2007, 16:48

Effectivement cette contribution a un réel intérêt.

Par contre je l'ai installé et bien sûr cela fonctionne mais je trouve des résultats faux.

J'ai fais une capture pour que ce soit plus clair.

http://img248.imageshack.us/my.php?image=statsproductshx0.jpg

As tu eu déjà ce cas là.

merci pour ton travail même s'il est inspiré d'autres contribs blush.gif

Écrit par : paddybl 8 Nov 2007, 09:58

Bonjour et merci, j'ai développé cette contribution(si,si...(just for fun))
avec la gestion de l'éco-participation à l'origine.
Pour en proposer une version free (c'est pour çà que je l'indique en béta) pour osC
, j'ai simplement retirer tous cette partie. c'est pas toujours simple de revenir en arrière; Donc il est possible qu' on trouve des erreurs de calcul.(j'ai toujours été mauvais en math et en français aussi d'ailleur...)

maintenant si j'ai bien compris les résultats retournés sont faux. Mais ces produits ont ils des particularités?
ecotax,options sélectionnées,...?
est ce que la liste de produits retournée (nombre, tarif,etc..) correspond bien à la réalité des critères (que je ne vois pas, confidentialité je suppose?) peut -ètre qu'une capture d'écran complète en mp me donnera des pistes aussi

A suivre

Écrit par : tidi 8 Nov 2007, 10:53

merci d'avoir répondu.

Alors voila même sans filtre les résultats sont énormes et j'aimerai bien que le chiffre d'affaire indiqué soit celui ci rolleyes.gif

L'erreur sur le TTC est à peu prêt de deux fois le montant HT .

Je t'envoie un mp avec une autre capture si ça peut t'aider

Écrit par : paddybl 8 Nov 2007, 16:53

bien bien, après nos divers échanges avec tidi, j'ai fini par mettre le doigt sur une grosse erreur de logique, en effet je ne calculais pas les totaux concernant le ou les produits sélectionnés, mais les totaux des commandes pour lesquels le/ou les produits était concerné.

mais evidemment si la/les commandes comporte d'autres produits les résultats sont tous faux...

du coup j'ai revu ma copie et corrigé l'archive blush.gif

du coup j'ai supprimé le total de frais de port puisque en toute logique celà n'a pas raison d'apparaitre.

reste un détail qu'il faut me confirmer pour l'utilisation des filtres d'options.
est ce que les champs products_options_id et products_options_values_id existe d'origine dans la table ORDERS_PRODUCTS_ATTRIBUTES ?

car si ce n'est pas le cas, il faudrait les ajouter en appliquant en plus la modif décrite dans le fichier install.

si vous pouvez me l'infirmer ou me le confirmer.

Écrit par : paddybl 9 Nov 2007, 15:05

Je me réponds à moi même, manifestement l'enregistrement des identifiants d'options dans la table n'est pas d'origine.
pas grave...
j'ai donc ajouté à la contrib un test de la présence de ces champs.
si ils y sont vous pourrez utiliser les filtres par options.
Si ce n'est pas le cas un message vous informe de l'indisponibilité de cette option
les champs filtres par options seront donc désactivés.

j'ai ajouté au fichier install.txt la procédure pour ajouter cette option.
j'ai donc réuploadé l'archive.

A suivre

Écrit par : tidi 9 Nov 2007, 17:10

En tout cas merci pour cette contrib très sympathique pour connaitre précisement les catégories et produits qui fonctionnent

Je teste les dernières modifs pour les options et tiendrai tout le monde au courant.

blush.gif

Écrit par : jguerrea 10 Nov 2007, 09:04

Bravo et merci paddybl
j'installe celà ce week end ...

C'est dommage que lorsque quelqu'un comme paddybl se lance et comprends que celà va être utile à la communauté qui'l passe du temps sur le sujet on lui reproche de ne pas être le géniteur à 100% ...

est-ce comme celà qu'une communauté se développe ? J'en doute et je trouve que celà fait beaucoup de blabla et de messages pour rien.

Je pense qu'il y a des gens qui agissent pour le bien de la communauté et pas pour avoir les lauriers , donc dire "j'ai développé" n'est pas une marque de fierté mais une manière de dire voila ma contribution (au sens propre ..)

Il ne faut pas que les contributeurs se demandent s'ils vont se faire accuser de s'etre inspiré de ..

J'espère que mon message passera bien et que les ultras comprendront

C'est bien après tout un forum c'est aussi un lieu d'échange d'idées wink.gif

Écrit par : paddybl 12 Nov 2007, 08:37

Bonjour, j'ai placé la contribution sur le site officiel osCommerce.com. ce sera donc ici

http://addons.oscommerce.com/info/5541

Écrit par : epseud 13 Nov 2007, 11:42

Salut smile.gif

Féliciation ! Ca à l'air intéressant, dommage que tu n'ais pas permis également le tri par manufacturer blush.gif

Est-ce possible de faire une mise à jour ?

Cordialement

Écrit par : paddybl 13 Nov 2007, 19:35

CITATION(epseud @ 13 Nov 2007, 11:42) [snapback]259168[/snapback]
Salut smile.gif

Féliciation ! Ca à l'air intéressant, dommage que tu n'ais pas permis également le tri par manufacturer blush.gif

Est-ce possible de faire une mise à jour ?

Cordialement


Merki, c'est une bonne idée (comme disait forest gump), mais c'est pas si simple que çà. En réfléchissant encore un peu, la contribution ne pourrait plus s'appeler stats products orders mais plutot stats manufacturers orders.

Si j'ai le temps, je regarderais çà, mais je bosse actuellement à un gestionnaire de contenus permettant de créer, classer des articles par catégories, sous catégories, ordres... et permettant d'utiliser du php et un éditeur de texte en même temps.
Celà marche déjà puisque je l'utilise sur mon site, mais il me reste des fonctionnalités à programmer, en faire une contrib, la tester, dormir, manger, etc...

A suivre

Écrit par : paddybl 23 Nov 2007, 07:46

CITATION
ne pas appliquer ce qui est aprés!!!!

bonjour a tous,

suite au mail de cedric (qui se reconnaitra), je vous indique un petit correctif à effectuer sur le fichier stats_products_orders.php
En effet si on utilise les produits liés à plusieurs catégories, les statistiques renvoient le produit vendu, autant de fois que le produit est lié à des catégories différentes...
Pas bien...
Si vous étes pressé de corrigé ce bug, recherché autant de fois que vous trouverez ce code dans la page, et supprimé le:
CODE
left join ".TABLE_PRODUCTS_TO_CATEGORIES." c on c.products_id=op.products_id

la liaison est inutile et renvoi le produit autant de fois qu'il est trouvé.

pour ceux qui n'ont pas envie de ce casser la tête, je republie la contrib corrigé dans la matinée

A suivre...

Écrit par : rtony30 23 Nov 2007, 17:58

bonsoir
je vient d essayer cette contribution,
lorsque je fait une recherche par catégorie j ai une message d erreur

CODE
109 - Unknown table 'c' in where clause

select count(ci.customers_info_id) as tot_new_customers from orders o left join orders_products op on o.orders_id=op.orders_id left join orders_status os on os.orders_status_id=o.orders_status and os.language_id = '1' left join customers cu on o.customers_id=cu.customers_id left join customers_info ci on ci.customers_info_id=o.customers_id where op.products_id>0 and c.categories_id in (43,42,37,38,39,40,41,44,93,22,43,42,37,38,39,40,45,48,41,44,93,43,42,37,38,39,40,41,44,93,22) and MONTH(ci.customers_info_date_account_created) = 11 and YEAR(ci.customers_info_date_account_created) = 2007 and o.orders_status = 3

[TEP STOP]

Écrit par : paddybl 24 Nov 2007, 00:59

a oui en effet,zut je me disais bien que j'avais pas mis cette jointure pour rien...

bon ben retour au point de départ.

ne pas faire la modif blush.gif

maintenant sur ce coup, je ne sais plus comment rédiger ma requete pour eviter que les produits avec plusieurs lien dans différentes catégories ne s'affiche plus d'une fois...

Un petit coup de main ne serais le bienvenue...

voici la requète:

CITATION
$order_product_query_raw = "select o.date_purchased as date,o.orders_id as id,cu.customers_lastname,o.customers_name as customer,o.customers_street_address as street, o.customers_city as address,o.customers_email_address as email,op.products_quantity as quantity, op.products_name as product_name, op.products_id as product_id,os.orders_status_name as status,op.final_price as final_price,op.products_quantity as quantity,op.products_tax as taxe from " . TABLE_ORDERS . " o left join ".TABLE_ORDERS_PRODUCTS." op on o.orders_id=op.orders_id left join ".TABLE_ORDERS_STATUS." os on os.orders_status_id=o.orders_status and os.language_id = '" . $languages_id . "' left join ".TABLE_PRODUCTS_TO_CATEGORIES." c on c.products_id=op.products_id left join ".TABLE_CUSTOMERS." cu on o.customers_id=cu.customers_id where ";

$order_product_query_raw .=($product_selected != 'ALL') ? " op.products_id=".(int)$product_selected:"op.products_id>0";
if ($categorie_selected != 'ALL') $order_product_query_raw .= " and c.categories_id in (".$level.") ";
if (isset($_GET['add_product_options'])&&$has_attributes ==true && $optionIn==true) {
foreach($_GET['add_product_options'] as $option_id => $option_value_id) {

$result_query_raw = "SELECT distinct(op.orders_products_id) FROM " . TABLE_ORDERS_PRODUCTS . " op left JOIN ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES." pa on pa.orders_products_id=op.orders_products_id WHERE ";
$result_query_raw .=((int)$option_value_id!=0)? " pa.products_options_id='".(int)$option_id."' and pa.products_options_values_id='".(int)$option_value_id."' and op.products_id='".(int)$product_selected."'":"1=1";
$result_query=tep_db_query($result_query_raw);
if(tep_db_num_rows($result_query)>0) {
$sql='';
while ($sql_result = tep_db_fetch_array($result_query)) {
$sql.=$sql_result['orders_products_id'].',';
}
$sql=substr($sql,0,strlen($sql)-1);
$order_product_query_raw .=" and op.orders_products_id IN (".$sql.")";
}elseif((int)$option_value_id!=0){$order_product_query_raw .=" and op.orders_products_id IN (0)";}
}

}
if ($day != 'ALL') $order_product_query_raw .= " and DAY(o.date_purchased) = " . $day ;
if ($month != 'ALL') $order_product_query_raw .= " and MONTH(o.date_purchased) = " . $month ;
if ($year != 'ALL') $order_product_query_raw .= " and YEAR(o.date_purchased) = " . $year;
if ($no_status) $order_product_query_raw .= " and o.orders_status <> " . $no_status;
if ($status) $order_product_query_raw .= " and o.orders_status = " . $status;


les fonctions sont à peine au dessus...

le problème ce produit lorsque l'on n'a pas sélectionné de fitre de catégorie, et qu'on a des produits qui on un lien créé dans plusieurs catégories ou sous-catégories(du coup celà fausse tous les calcules).


sur ce coup la je séche pour l'instant.

Écrit par : shoprun 24 Nov 2007, 17:55

Bonjour à tous

Etant assez friand des outils statistiques, et bien cette contrib visiblement à tout l'air être un bon outil, bravo Paddybl d'y avoir mit le fruit de ton travail à la disposition de nous tous cool.gif

De mon coté je viens de l'installer et je m'efforce de bien comprendre son fonctionnement.

Mais avant tout, je vais te faire un petit retour sur les points que j'ai remarqués.
Toutes ces remarques sont certainement la conséquence de mon error_reporting qui est à "E_ALL | E_STRICT".
A toi d'en juger de leurs importances.

1/ Variables mal initialisé ... : $year/$month/$day/$categorie_selected/$product_selected/$mini_ordered/$no_status/$status
J'ai plutôt fais comme ceci :

CODE
$year = (isset($_GET['year']) && tep_not_null($_GET['year'])) ? tep_db_prepare_input($_GET['year']): $today['year'];

2/ Cette variable (ou paramètres) n'est pas utilisée : $mini_ordered ?
3/ $print mal initialisé ...
4/ Le nom de la table counter est mis en dur. Mes tables ont toutes un préfix, du coup ça fait pas un pli, ça plante ...
5/ $list_mini n'existe pas ??? Là c'est un peu un mystère car ce tableau est créé, mais jamais utilisé, bizarre unsure.gif
As tu as une explication à cela ?
6/ Variable non initialisé : $heading_array
7/ Variable non initialisé : $subcategories_requete
8/ Il y a ce code (du moins cette condition) :
CODE
$_GET['inc_subcat'] = '1';
if ($_GET['inc_subcat'] == '1') {
...
}
else {
...
}
Là, $_GET['inc_subcat'] sera toujours vrai vu que juste derrière cette condition tu l'initialise à 1 ? Bizarre ...
Du coup on entrera jamais dans le else, non ? Peut être est ce un code pour une futur évolution ?

9/ J'ai eu un petit souci avec ce code :
CODE
$_GET['sort'] = $i+1 . 'a';
En faite, en enlevant les espaces (comme ceci $i+1.'a';) cela a créé une erreur.
Je pense que c'est dû au faite que l'on fait une addition + concaténation avec une chaîne de caractère, php n'a pas trop apprécié.
En mettant entre parenthèse l'addition cela résout le problème :
CODE
$_GET['sort'] = ($i + 1).'a';


10/ Vers la fin au niveau affichage, il y a un truc qui me semble pas très clair. (ligne 811)
Il y a en premier cette requête qui est exécutée : $order_product_query = tep_db_query($listing_split->sql_query);
Ensuite une première boucle est effectuée pour stockée les données dans un tableau $order_product[].
Mais cette même requête est exécutée une seconde fois : $listing_query = tep_db_query($listing_split->sql_query); unsure.gif
Et une seconde boucle est effectuée.
Franchement je ne vois pas pourquoi l'exécutée 2 fois, as tu une explication à cela ? Du coup ce tableau $order_product ne me semble pas utile, enfin, d'après moi ...
Qu'est ce que tu en pense ?

11/ Toujours à la fin, j'ai eu un souci avec la requête récupérant les options/valeurs des attributs des produits.
La requête me retourne un résultat même si un produit d'une commande n'a pas d'attribut ?
J'ai remplacé la jointure (avec LEFT JOIN) en utilisant INNER JOIN à la place, ça à l'air correcte.

Je vais me pencher sur ce splitPageResults2, ça va être chaud on dirais ...

Bon, ben voilà mon petit retour, en espérant que cela apportera son petit lot d'amélioration cool.gif

Écrit par : paddybl 25 Nov 2007, 21:22

salut shoprun, et merci de te pencher sur cette contrib.

je vais essayer de prendre dans l'ordre de tes remarques pour apporter mon avis, ou mes explications (plus ou moin bonne...)

CITATION
1/Toutes ces remarques sont certainement la conséquence de mon error_reporting qui est à "E_ALL | E_STRICT".

En effet, comme dans d'autres languages de programmation on devrait initialiser chaque variable en type et valeur, comme java,c...
le fait de paramétrer ton serveur en mode strict te renvoi toutes "ces erreurs, ou remarques" de non initialisation de variable.
je sais, parce que l'on me l'a expliqué, que l'initialisation des variables en php,javascript se fait dynamiquement et n'est pas forcément nécessaire avant utilisation de celle-ci. je sais que ce serait mieux de le faire mais quand je programme, je suis assez fénéant...
pour éviter d'avoir ces alerts il faudrait faire la liste des variables utiliser et les déclarer en haut de page.
CITATION
2/ Cette variable (ou paramètres) n'est pas utilisée : $mini_ordered

En effet je ne me sert pas de cette variable j'ai juste oublié de la supprimer (elle venait de la contrib de xaglo qui m'a servi de base pour l'interfacage de la page), on peu la supprimer
CITATION
3/ $print mal initialisé
même explication quand /1 elle sera initialiser au moment de l'utilisation du lien imprimer (variable GET)
CITATION
4/ Le nom de la table counter est mis en dur. Mes tables ont toutes un préfix, du coup ça fait pas un pli, ça plante

je n'ai reprogrammer la fonction de création de la dropdown, remplace par
$year_begin_query = tep_db_query(" select startdate from ".TABLE_COUNTER);
CITATION
5/ $list_mini n'existe pas ??? Là c'est un peu un mystère car ce tableau est créé, mais jamais utilisé, bizarre

pareil quand /2 tu peux supprimer ces lignes:
// get list of minimum names for dropdown selection
for ($i = 0, $n = sizeof($list_mini); $i < $n; $i++) {
$list_mini_array[] = array('id' => $list_mini[$i],
'text' => $list_mini[$i]);
}
CITATION
6/ Variable non initialisé : $heading_array
7/ Variable non initialisé : $subcategories_requete

pareil quand /1
$heading_array chaine de caractéres.
$subcategories_requete chaine de caractéres.
CITATION
Là, $_GET['inc_subcat'] sera toujours vrai vu que juste derrière cette condition tu l'initialise à 1 ? Bizarre ...
Du coup on entrera jamais dans le else, non ? Peut être est ce un code pour une futur évolution ?

En effet celà peut paraitre bizarre, mais oui la condition n'est jamais impossible, tous simplement parce que j'avais prévu d'ajouter la fonction de recherche par nom de produit... pas encore fait, mais prévu...
CITATION
En faite, en enlevant les espaces (comme ceci $i+1.'a';) cela a créé une erreur.
Je pense que c'est dû au faite que l'on fait une addition + concaténation avec une chaîne de caractère, php n'a pas trop apprécié.

du au mode restrictif, priorité de calcul avant concaténation de la chaine
CITATION
10/ Vers la fin au niveau affichage, il y a un truc qui me semble pas très clair. (ligne 811)
Il y a en premier cette requête qui est exécutée : $order_product_query = tep_db_query($listing_split->sql_query);
Ensuite une première boucle est effectuée pour stockée les données dans un tableau $order_product[].
Mais cette même requête est exécutée une seconde fois : $listing_query = tep_db_query($listing_split->sql_query); unsure.gif
Et une seconde boucle est effectuée.
Franchement je ne vois pas pourquoi l'exécutée 2 fois, as tu une explication à cela ? Du coup ce tableau $order_product ne me semble pas utile, enfin, d'après moi ...
Qu'est ce que tu en pense ?

en faite, tu n'as pas tord. je n'étais pas obligé de reparcourir une deuxieme fois le tableau et pouvais le faire en 1 seule fois.
il faut supprimer ces lignes
CODE
  }
            
               if ($listing_split->number_of_rows > 0) {
     $rows = 0;
     $listing_query = tep_db_query($listing_split->sql_query);
     while ($listing = tep_db_fetch_array($listing_query)) {

en même temps celà ne provoquait pas d'erreur, et ceci était certainement du à mes diverses étapes de création...
CITATION
11/ Toujours à la fin, j'ai eu un souci avec la requête récupérant les options/valeurs des attributs des produits.
La requête me retourne un résultat même si un produit d'une commande n'a pas d'attribut ?
J'ai remplacé la jointure (avec LEFT JOIN) en utilisant INNER JOIN à la place, ça à l'air correcte.

c'est pas bète
celà donne ca
CODE
$result_query_raw = "SELECT distinct(pa.products_options),pa.products_options_values FROM  ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES." pa INNER JOIN " . TABLE_ORDERS_PRODUCTS . " op  on pa.orders_products_id=op.orders_products_id WHERE op.products_id='".(int)$order_product[$rows]['pid']."' and op.orders_id='".(int)$order_product[$rows]['id']."'";

...Je vais me pencher sur ce splitPageResults2, ça va être chaud on dirais...
si tu veux mais celà m'aurait plus arrangé que tu regardes mon histoire de produit lié sur plusieurs catégories. j'avais essayé plusieurs type de jointure aussi, sans résultat probant. En même temps le weekend à été chargé coté fiesta donc je n'ai pas tout a fait les idée clairs

merci d'avoir jeté un coup d'oeil, c'est cool de savoir que je ne suis pas seul sur ce coup...




Écrit par : shoprun 26 Nov 2007, 07:02

Salut paddybl

Bon, d'abord, en me relisant je me suis trouvé moi même un peu direct ... je pense que c'est dû au faite que je l'ai fais un peu dans le feu de l'action, à chaud ...
Faut pas s'y méprendre, le but étant d'exploiter les bienfaits (la force même) du "monde libre", en gros c'est de faire un travail communautaire qui permet au bout d'avoir une application (une contrib ici) la plus stable possible, voir l'améliorer en lui apportant d'autres fonctionnalités.
Puis jusqu'à maintenant je me suis servit des contrib comme un peu comme un "supermarché", donc pour une fois (c'est bien la première) que je peux aider directement un "créateur" ...

Concernant cette directive "error_reporting" et bien par défaut elle est à "E_ALL" (du moins dans Wamp5), donc quelque part osC est moins stricte, ce qui est à mon avis fort dommage. Dans osC celle ci est à "E_ALL & ~E_NOTICE".
Aussi, faut pas faire de confusion entre la déclaration des variables et leur initialisations, de mon coté je ne fais aucune déclaration, cela me semble aussi pas vraiment utile, par contre coté initialisations, dans la plus grande majorité des cas celles ci ce font correctement, j'effectue les correctifs si cela n'est pas le cas.
Cependant, j'ai remarqué que lorsque celles ci ne l'étaient pas, cela provoquait derrière des erreurs de logiques, en gros on obtenait l'inverse de ce qui était prévu (rare quand même!), et là, inutile de te dire que ça le fait pas!
C'est justement pour éviter ces cas (qui sont rares) que je construis mon osC dans cette condition assez stricte.
Je ne saurais que te conseiller d'en faire autant, cela apporte de la stabilité à son projet.


Tout cela étant dit, je te remercie de ton ton retour, ceci m'enlève les interrogations que j'avais.

Pour revenir sur un point, celui de la requête qui était en double, j'ai effectuée les modifs et dans le même coup j'y est supprimé le tableau $order_product[$rows]['id'], ça à l'air correcte.
Mon code est celui ci actuellement :

CODE
$order_split = new splitPageResults2($order_product_query_raw, $num_line);
$order_product_query = tep_db_query($order_split->sql_query);
if ($order_split->number_of_rows > 0) {
    while ($order_product = tep_db_fetch_array($order_product_query)) {
?>
        <tr class="dataTableRow" style="text-align: center;">
            <td class="dataTableContent"><?php echo tep_date_short($order_product['date']); ?></td>
            <td class="dataTableContent" style="text-align: right;"><?php echo $order_product['id']; ?>&nbsp;</td>
            <td class="dataTableContent" style="text-align: left;"><?php echo $order_product['customer']; ?></td>
            <td class="dataTableContent" style="text-align: left;"><?php echo $order_product['street']; ?></td>
            <td class="dataTableContent" style="text-align: left;">
<?php
        echo '['.$order_product['product_id'].'] '.$order_product['product_name'];
        if ($has_attributes == true) {
            $attributes_query = tep_db_query("SELECT DISTINCT pa.products_options AS p_options,
                pa.products_options_values AS p_values
                FROM ".TABLE_ORDERS_PRODUCTS." op
                INNER JOIN ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES." pa ON pa.orders_products_id = op.orders_products_id
                WHERE op.products_id = '".(int)$order_product['product_id']."'
                AND op.orders_id = '".(int)$order_product['id']."'");
            //
            $nb_attributes = tep_db_num_rows($attributes_query);
            if ($nb_attributes > 0) {
                while ($attributes = tep_db_fetch_array($attributes_query)) {
                    echo '<br>['.$nb_attributes.'] '.$attributes['p_options'].' : '.$attributes['p_values'];
                }
            }
        }
?>
            </td>
            <td class="dataTableContent"><?php echo $order_product['quantity']; ?></td>
            <td class="dataTableContent"><?php echo $order_product['status']; ?></td>
            <td class="dataTableContent" style="text-align: right;"><?php echo $currencies->format($order_product['total']); ?>&nbsp;</td>
        </tr>
<?php
    }
}
?>

Dans ce code j'y est aussi modifié une alternative qui était au départ :
CODE
if($product_selected == 'ALL'||$has_attributes==true)
Je l'ai fais comme ceci juste après l'affichage du nom du produit.
En faite, j'ai remarqué que si on sélectionne un produit que que celui ci n'a pas d'attribut, le nom du produit n'est pas affiché.
CODE
if ($has_attributes == true)


CITATION
si tu veux mais celà m'aurait plus arrangé que tu regardes mon histoire de produit lié sur plusieurs catégories

Je vais vais t'avouer que je ne me suis pas du tout pencher sur ton problème, en faite il me semble qu'il me faut d'abord bien comprendre comment cela est goupillé, et là j'ai un énorme train train de retard par rapport à toi ...
Puis elle est pas si simple que ça à comprendre cette contrib ... Puis j'suis pas certain de le trouver le blême, j'ai mes limitent comme nous tous ... Ceci dit, promis, je vais m'y pencher, va bien falloir le corriger ce truc ...

CITATION
c'est cool de savoir que je ne suis pas seul sur ce coup...
Ben non, t'es pas tout seul tu vois ...
D'ailleurs, si tu pense à d'autres choses (genre évolution comme la recherche par noms ...) en tête, n'hésite pas à en faire part.
De mon coté je pense qu'il y a truc à améliorer pour l'impression, je pense plutôt faire de l'export (genre excel, pdf).
Je m'avance un peu en faite car j'ai déjà pas mal de chose sur le feu ...
Mais il y a rien d'urgent à mon sens, c'est une idée ...

Écrit par : paddybl 26 Nov 2007, 08:09

Re salut shoprun, franchement je n'ai vraiment pas trouvé que tu avais eue à mon égart ni un ton hautain, ni agressif, en plus toutes tes remarque restaient constructives, donc pour moi ce n'est que du plaisir.
Comme me disait un pot: "tu bosses super bien, mais qu'est ce que tu es brouillon...".
Bon sur ce coup là, je suis d'accord avec lui, même s'il y ne programmait pas, lol.
tous celà pour dire, que j'aimerai avoir ta rigueur de programmation.
un peu comme toi, je fais les choses à chaud, sans chercher à optimiser mon code une fois fonctionnel. pas bien...
promis j'essayerai de faire mieux...

bien, donc, pour la premiere parti, bravo, rien a redire c'est plus propre et optimisé (d'ou mon introduction... rolleyes.gif )

CITATION
Je l'ai fais comme ceci juste après l'affichage du nom du produit.
En faite, j'ai remarqué que si on sélectionne un produit que que celui ci n'a pas d'attribut, le nom du produit n'est pas affiché.

ma logique était, que justement, s'il n'y a pas d'option et que l'on a choisi le produit dans le sélecteur juste avant, il n'y a pas de raison de réafficher le nom du produit. affaire de logique, mais la logique et moi...
CITATION
De mon coté je pense qu'il y a truc à améliorer pour l'impression, je pense plutôt faire de l'export (genre excel, pdf).

Comme je l'avais dis à gindhal, j'ai ajouter cette option à l'arrache, sans optimisation, préférant sortir la contribution le plus rapidement possible pour répondre aux besoins de jguerrea. Evidemment en reconcidérant mon introduction, celà est grandement optimisable...

dans l'immédiat ce qui me fait plaisir et je suppose a jacques aussi, c'est que sont idée se concrétise et puisse devenir une contrib "incontournable", si je puis dire.

le point chaud reste malgré tous mon algorythme de chaine sql, surtout la vérification de la présence du produit dans une catégorie ou sous-catégorie
CODE
if ($categorie_selected != 'ALL') $order_product_query_raw .= " and c.categories_id in (".$level.") ";

quand tu affiche mon tableau de valeur, tu remarquera que celle-ci sont toute en double. l'idée me parait ètre une bonne alternative, mais comme toujours optimisable...
je vais encore chercher comment ne pas retourner plusieur fois le même produit lorsque celui-ci est présent dans plusieurs catégories. peut ètre un problème de jonction, à voir...
pas sur que l'on puisse résoudre le problème dans une seule chaine sql

A suivre...

Écrit par : paddybl 28 Nov 2007, 17:23

Alors en tout premier lieux, je tiens à faire remarquer et remercier aussi par la même occasion, shoprun, qui à effectué pour moi le débugguage, l'optimisation et surtout ma donné la bonne piste pour corriger cette erreur de doublon.

Donc merci...

il semblerait donc que tous fonctionne, j'en ai profité pour ajouter quelques infos en plus qui peuvent etre utile, des liens pour diverses fonctions, des couleurs... (voir le descriptif de ce post)

j'ai actualisé le lien télécharger (1er message) et repassé la version en beta.

voilà à vos tests... (repartez...)

ps à (shoprun): Je n'ai pas appliqué toutes tes modifs et ai préféré d'autres, j'espère que tu ne m'en voudras pas.

ps (au autres): certaines personnes auraient apprécié un module d'export/impression plus puissant n'hésitez pas à proposer vos modifications.

A suivre...

Écrit par : rtony30 28 Nov 2007, 21:41

bonjour
je vient d installer la version beta
je peut pas accerder la la page statistiques dans l admin
j ai un message d erreur
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/WwwBSD/babysharkal.com/admin/stats_products_orders.php on line 360


CODE
if ( (!isset($_GET['sort'])) || (!ereg('[1-8][ad]', $_GET['sort'])) || (substr($_GET['sort'], 0, 1) > sizeof($column_list)) ) {
      for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
        if ($column_list[$i] == 'DATE_ORDERS') {
          $_GET['sort'] = $i+1.'a';
          $order_product_query_raw .= " order by o.date_purchased";
          break;

Écrit par : shoprun 29 Nov 2007, 07:40

Essai ceci à la place :

CODE
$_GET['sort'] = ($i + 1).'a';


CITATION
ps à (shoprun): Je n'ai pas appliqué toutes tes modifs et ai préféré d'autres, j'espère que tu ne m'en voudras pas.
La dessus aucun souci, tu le fais comme tu le sens ...
Ceci dit, le bug relevé par Rtony30 aurais pu être évité wink.gif

Écrit par : paddybl 29 Nov 2007, 07:48

sur ce coup là, je suis coupable blush.gif ... en effet j'aurai pu l'éviter, vu que tu m'avais fait le retour de ce bug sur ta version. Bizarre sur mon serveur celà ne retourne pas d'erreur...
bon j'ai corrigé l'archive pour les téléchargements suivants.

Écrit par : shoprun 29 Nov 2007, 08:04

CITATION
Bizarre sur mon serveur celà ne retourne pas d'erreur...
Ben je suis justement en train de voir ta contrib que j'ai téléchargé hier soir, ben je pense que c'est le faite que tu as supprimé les espaces.
Visiblement il y a 2 cas ou ce truc plante, soit quand on supprime les espaces de chaque coté du point, soit il y en a qu'1 (d'un coté ou de l'autre), enfin, c'est tout de même assez capricieux tout cela.
Le truc 100% garanti c'est de mettre entre parenthèse le calcul, cela enlève l'ambiguïté (calcul ou chaîne, les 2 ?)


J'en profite du coup que tu est là, c'est qu'il me semble qu'il y a un petit résidu tout en bas dans le code concernant le tableau $order_product, dans la requête récupérant les options ce trouve ce table en 2 dimensions (ancien code avec $rows) :
CODE
$result_query_raw = "SELECT distinct(pa.products_options),pa.products_options_values FROM  ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES." pa left JOIN " . TABLE_ORDERS_PRODUCTS . " op  on pa.orders_products_id=op.orders_products_id WHERE op.products_id='".(int)$order_product[$rows]['pid']."' and op.orders_id='".(int)$order_product[$rows]['id']."'";

Écrit par : paddybl 29 Nov 2007, 08:54

A oui en effet, j'avais juste un peu oublié de remettre cette modif, il y avait le INNER aussi à la place du left...

j'ai retrouvé un petit bug quand on change le filtre status:
sur la ligne:
<?php if($status == ''){?> <td align="right" class="dataTableHeadingContent" width="100"><?php echo tep_create_sort_heading($_GET['sort'], 7,ORDER_STATUS); ?></td><?php }?>

il faut enlever le test de status
<td align="right" class="dataTableHeadingContent" width="100"><?php echo tep_create_sort_heading($_GET['sort'], 7,ORDER_STATUS); ?></td>

on va finir par y arriver

A suivre...

Écrit par : rtony30 29 Nov 2007, 10:41

bonjour,

dans la derniere archive tu n a pas supprimé la ligne
<td align="right" class="dataTableHeadingContent" width="100"><?php echo tep_create_sort_heading($_GET['sort'], 7,ORDER_STATUS); ?></td>
faut il la supprimer?
merci

Écrit par : paddybl 29 Nov 2007, 11:13

salut, non il ne sagit pas de supprimer la ligne entièrement, mais uniquement le test de la valeur du statut.

CITATION
<?php if($status == ''){?>
et celà
CITATION
<?php }?>


si tu as télécharger la dernière archives tout est ok (normalement)

A suivre

Écrit par : rtony30 29 Nov 2007, 11:17

ok
apparemment tout a l air de marcher
merci

Écrit par : paddybl 30 Nov 2007, 14:36

SAlut à tous. Tient c'est marrant, personne n'à remarqué que ma tva avait disparu depuis les dernières modifs...

rechercher la ligne suivante:

CITATION
$order_product_query_raw .= " os.orders_status_name as status,op.final_price as final_price";

et remplacer par:
CODE
$order_product_query_raw .= " os.orders_status_name as status,op.final_price  as final_price, op.products_tax as taxe";


je corrige l'archive dés que possible

A suivre...

Écrit par : rtony30 30 Nov 2007, 15:06

salut
pour moi c est normal vu que je pratique les tarif en ttc
c est pourquoi j ai pas pu le voir
merci pour l info

Écrit par : paddybl 30 Nov 2007, 17:35

y pas de soucis.

Alors les dernières nouveautés du jours:
-Ajout du code postal
-Ajout du montant TTC
-Classement des résultats par date la plus récente par défaut
-Correction des arrondis pouvant provoquer des erreurs sur les résultats
-Ajout des messages d'infos oubliés
-Ajout d'un bouton Imprimer et fermer sur la page d'impression (icones)
-Remise en page du tableau de résultats

voilà l'archive est remise à jours, j'attend vos réactions...

A suivre

Écrit par : rtony30 1 Dec 2007, 13:59

SALUT
je vient d installer la dernière version
c est ok
en local j ai un souci j ai ce message d erreur quand je trie par categorie
mais c est pas trop grave vu que j en ai pas l utilité en local

CODE
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 'SELECT p2c.products_id FROM products_to_categories p2c WHERE p2

select count(ci.customers_info_id) as tot_new_customers from orders o left join orders_products op on o.orders_id=op.orders_id left join orders_status os on os.orders_status_id=o.orders_status and os.language_id = '1' left join customers cu on o.customers_id=cu.customers_id left join customers_info ci on ci.customers_info_id=o.customers_id where op.products_id>0 and op.products_id IN (SELECT p2c.products_id FROM products_to_categories p2c WHERE p2c.categories_id in (30,30)) and MONTH(ci.customers_info_date_account_created) = 12 and YEAR(ci.customers_info_date_account_created) = 2007

[TEP STOP]

Écrit par : shoprun 1 Dec 2007, 18:52

Salut

Quelle est la version de MySQL que tu utilise en local ?
Je me dis que si ça marche sur ton hébergeur, ça doit être du MySQL5, là c'est ok, par contre en local c'est peut être du MySQL4 xxx, et là ta version n'accepte peut pas les sous requêtes.

Si c'est cela, c'est tout de même bizarre d'avoir une version MySQL moins à jour que son hébergeur ? Pas pratique ça, non ?


CITATION
Alors les dernières nouveautés du jours ...
Pfffouuu! Excellant tout ça !
Bon, je vais regarder cela de plus près, mais bon, je suis un peu "au four et au moulin" comme on dit, j'suis un peu larguer là, ça va trop vite blush.gif

Écrit par : rtony30 1 Dec 2007, 20:41

salut
icodia utilise cette version
Version du client MySQL: 3.23.58
et en local avec movamp-0.2
MySQL 4.0.20a
j ai pas de MySQL5
blush.gif
je continu à chercher
@+


Écrit par : shoprun 2 Dec 2007, 05:37

CITATION
icodia utilise cette version
Version du client MySQL: 3.23.58
et en local avec movamp-0.2
MySQL 4.0.20a
j ai pas de MySQL5

C'est dingue ça ! C'est un choix de rester sur une version 3 de MySQL ?
Sérieux, MySQL à partir de la version 4.1 à fait un grand pas, ils y ont intégrés pas mal de trucs (comme les sous requêtes) puis aussi mieux standardisés le SQL, du coup je te conseillerais d'y penser un jour de mettre à jour tout cela. Enfin, ...

Je viens d'aller sur MoveAmp, et visiblement la dernière version intègre MySQL4.1, en te mettant à jour tu devrais savoir si cela est bien une question de version.

Écrit par : shoprun 2 Dec 2007, 05:37

unsure.gif Ben zut alors, mon post c'est enregistré en double unsure.gif

Écrit par : rtony30 2 Dec 2007, 08:02

salut,
c est pas un choix.
voila les info de icodia
localhost

* Version du serveur: 4.1.22-standard-log
* Version du protocole: 10

phpMyAdmin - 2.9.1.1

* Version du client MySQL: 3.23.58

au debut javait mis msql version 5 en local
mais mon site ne marcher pas
c est pourquoi icodia ma dit de prendre movamp-0.2

pourquoi icodia ne ceux sont pas mis a jour?
que veut tu dire par (coup je te conseillerais d'y penser un jour de mettre à jour tout cela.)
changer d erbergeur?

Écrit par : shoprun 2 Dec 2007, 11:01

Re

Ben disons que mon hébergeur dispose de plusieurs serveurs MySQL, donc de versions différentes mysql3, mysql4, mysql5, (ils en ont même 6, je ne pourrais pas dire exactement toutes leurs différences), mais cela fait que l'on a le choix, et on peu leur demander de migrer les données d'un serveur à l'autre suivant nos besoins.

Mais bon, visiblement on utilise la même version de MySQL que moi, cette version 4.1.22-log est tout à fait correcte et suffisant dans ces fonctionnalités.
N'empêche que, il y aurais pas une confusion entre "le moteur de stockage" de mysql qui correspondrait à "3.23.58" et la base MySQL qui est la 4.1.22-standard-log.
Enfin, je ne vois pas trop quand même ce : * Version du client MySQL: 3.23.58 ? A quoi cela correspond exactement ?
Je dirais de bien te renseigner, d'en être sûr, pas de confusion.

Les conflits que l'on vois souvent sur ce forum n'est pas vraiment pour la plupart du temps une migration de la version 4 vers la 5, mais d'une version en dessous de la 4.1 vers une version au-dessus de la 4.1.

En faite, si c'est bien cette version que tu as sur ton hébergeur (4.1.22), tu peux très bien te passer de movamp et utiliser Wamp5, même si c'est Mysql5 tu ne devrais pas rencontrer de problème, d'ailleurs c'est comme cela que c'est chez moi.
Puis tu te limite toi même avec cette version que tu as en local

La version de MySQL5 et ces évolutions sont très intéressantes, mais si on veux en profiter ça demande de faire de sacrés modifs, bref faut connaître et de plus avoir du temps.
Ceci dit, il y peu de temps mon hébergeur a créer le 6 ème serveur avec une version 6, je vais très certainement faire migrer ma base sur ce serveur, je serais à jour et entre local et distant.


Même crédo pour php, car je suppose que tu est en php4, et bien là aussi je te conseillerais de basculer en php5 car php4 n'est plus supporté par communauté.


PS : Bon, je crois que si tu souhaite continuer sur ce sujet, et bien ouvre en un autre, car on est en train de polluer celui de Paddybl et je trouve que c'est vraiment pas cool de notre part.
Je m'en excuse déjà ...sorry wink.gif

Écrit par : paddybl 2 Dec 2007, 14:37

Salut à tous, c'est vraiment bien de vous intéresser à cette contrib. Personnellement, celà ne me pose pas de problème de parler de compatibilité mysql sur ce sujet, car la contribution est concernée.

Bon vu que les sous requètes n'ont pas l'air d'ètre accepté par certaines versions, pourquoi ne pas traiter celà dans une fonction...
j'ai donc ajouté une fonction et modifé les requètes. on dirait que çà marche puisque j'ai testé çà sur un site en version 4.0.22 de mysql

la seule chose que je n'ai pas pu vérifier c'est: si celà fonctionne avec les filtres d'options, vu que le site n'est pas à moi, qu'il n'y a pas d'options, et que je n'ose pas en créer...

J'ai réactualisé l'archive.

j'attends vos retours.

A suivre...

Écrit par : paddybl 2 Dec 2007, 15:10

A si tiens, pendant que j'y suis j'ai trouvé une autre incompatibilité avec mysql 4:
La fonction DAY() n'est pas compatible, je l'ai donc remplacer par la fonction DAYOFMONTH()

L'archive est corrigé...
shock.gif

Écrit par : rtony30 2 Dec 2007, 19:29

bonjour
j ai telecharger la derniere version
c est ok en local
par contre j ai la version juste avant les modification qui est installer sur mon serveur en ligne
et elle marche
je doit la remplacer par la derniere ou c est pas la peine?
merci

Écrit par : paddybl 3 Dec 2007, 11:41

Aucune des 2, car je te propose la nouvelle version qui ajoute les nouveautés suivantes:

-Sélection par fabriquant ne retournant que les catégories et les produits de celui-ci (si c'est pas top çà!)
-Les ID de produits (affiché entre crochet dans la liste) permettent de définir ce produit comme critère de trie
-Le nom du produit retourne la fiche produit

Voilà je pense que vous pourrez négocier des tarifs avec vos fournisseurs maintenant rolleyes.gif

J'attend vos retours

L'archive est réactualisée.

A suivre...

Écrit par : paddybl 6 Dec 2007, 07:53

Je remonte le sujet car, soit tous le monde est content que celà fonctionne et en reste bouche bé, soit personne n'a vu que j'avais fait la derniére modif.

j'attendais vos retours pour pouvoir poster l'archive sur osC

A suivre...

Écrit par : rtony30 6 Dec 2007, 17:26

salut
appariement tout marche
merci rolleyes.gif

Écrit par : looping2k 6 Dec 2007, 20:22

Oui escuse paddy, effectivement chez moi ca roule, et aucuns problemes...
mais je bon je repencherai sur les testes serieusement d'ici peu


merci paddy

Écrit par : micm 7 Dec 2007, 11:02

Pour paddybl

je viens de l'installer - que dire - fantastic - MEEEEEEEEEEEEEEEEEERCI pour cette superbe contrib

Écrit par : tidi 10 Dec 2007, 00:07

Nickel pour moi aussi et vraiment très pratique pour analyser ses chiffres.

Juste une modif pratique serait d afficher les résultats en haut afin d'éviter de descendre la page pour connaitre les résultats blush.gif

Pour ceux qui utilisent margin report l'ajout de la marge serait un plus.

Écrit par : paddybl 10 Dec 2007, 11:17

Merci à tous, celà fait chaud au coeur à l'approche de noël

et bien puisque c'est ainsi, voici les dernère nouveauté du jours:

-Ajout du nom de fabriquant.
- Mise en place du "popup dynamique" affichant les infos produits (les tarifs ht et ttc, prix promo, dates,images, marges...)

Cette dernière fonction est désactivable en changeant dans le code la ligne:

CITATION
$active_popup=true;


en
CITATION
$active_popup=false;


par contre si quelqu'un connait l'astuce pour éviter que les sélecteurs de listes passent au dessus du popup sous Internet explorer, je suis preneur...

Voilà, je pense que la contrib est complète et me semble au point maintenant.

J'attend vos retours

A suivre...

CITATION
Juste une modif pratique serait d afficher les résultats en haut afin d'éviter de descendre la page pour connaitre les résultats


en faite chaque entète du listing(date d'achat,numéro de commande, nom client...) que stats products_ orders te retourne permet de classer par ordre ascendant ou descendant les résultats, pas besoin d'avoir une "surchauffe de la molette"... dans un autre registre chaque infos retournées te permettent déditer la commande, envoyer un mail, afficher la fiche produit, sélectionner ce produit comme nouveau critére. voili, voilà...

Écrit par : tidi 10 Dec 2007, 13:05

Merci pour tes dernières modifs vite fait rajoutées.

Au sujet de la marge c'est très bien mais je voulais dire la marge complete en fonction de la sélection que l'on retrouverai avec total vent HT, total vente TTC met donc marge totale.

Et quand je parlais d'avoir les résultats en haut c'était justement ce tableau positionné en haut éviterai de decendre la page pour le trouver.

A moins que je n'ai pas compris ton explication blush.gif

Écrit par : paddybl 14 Dec 2007, 08:33

Bonjour à tous,
Les nouveautés du jours...
Et bien pas grand chose, juste une petite correction du nom du fabriquant qui n'était pas retiré si le produit n'en à pas...

coté marge, et bien je ne proposerai pas cette ajout de fonctionnalité, car simplement, tous le monde n'a pas installé margin report.
la contribution devant resté fonctionnelle pour tous à l'installation.

J'epère que vous apprécié cette contribution, qu'elle finira par apparaitre dans la liste des contributions, et espère pouvoir vous proposer de futur version equivalente à celle-ci.

A suivre...

Écrit par : micm 14 Dec 2007, 09:53

pb pour avoir la derniere modif

le lien de telechargement http://www.oscommerce-fr.info/forum/index.php?s=&showtopic=50469&view=findpost&p=257910 ne fonctionne pas.

Petite info :

j'ai installé ta superbe contrib et également celle de xaglo - "stats_customers_orders"

les montants ht et TVA correspondent mais pas les montants TTC - Xaglo prend en compte le port apparemment.

Écrit par : paddybl 14 Dec 2007, 11:44

Bizarre j'ai réactualisé le lien pour que celui du site osCommerce apparaisse à la place de la version beta, et celà n'avait pas fonctionné.
j'ai donc re-réactualisé...

concernant les totaux ,oui c'est logique que les résultats soit différent, car je ne peux tous simplement pas prendre en compte les frais de port, vu que la sélection de produit ne correspond pas forcément à la valeur des frais de port, il risque fort d' y avoir d'autres produit sur les commandes.
donc les résultats retournés ne serait pas forcément significatif, surtout sur la sélection de catégorie complète.

tous ca pour dire que l' idée de départ etait de proposer des statistiques produits commandés, pas des commandes.

Voili voilà...

A suivre

Écrit par : micm 14 Dec 2007, 11:50

le lien est maintenant OK - merci

Écrit par : rtony30 14 Dec 2007, 12:35

paddybl a tu reçu mon mp ?

Écrit par : paddybl 14 Dec 2007, 16:05

Oui, j'ai bien reçut ton Mp, mais je n'ai pas tellement de temps en ce moment.

Tu me demandes s'il est possible de faire le meme type de contribution mais avec comme critére de sélection le client à la place du produit!

oui évidemment, mais j'en vois moins l'intéret, vu qu'il existe déjà des contributions faisant en tout ou partie celà.

mais si certains s'en sentent le courage, peut ètre verra ton apparaitre une contribution avec les mêmes fonctionnalités.

A vos tablettes... interrogation surprise!

Écrit par : tidi 14 Dec 2007, 20:11

Ok pour ta réponse sur la marge.

Par contre ne serait il pas mieux d'afficher les résultats en haut afin d'éviter de descendre la page ?


Merci encore c'est très utile et je vais essayer de bricoler un truc pour la marge avec mon petit niveau.
Si je trouve je vous tiendrai au courant.

Écrit par : djudge34 16 Jan 2008, 16:53

Bonjour,

Je l'ai testé et effectivement :
- il y a des doublons lorsque le produit est dans plusieurs catégories.
- les options sont multipliées et fausses sur les produits.


Contribution tres interressante. Est elle toujours en cours de developement ou tombée dans l'oublis ?

Écrit par : paddybl 16 Jan 2008, 18:02

bonjour,
Tombé dans l'oublie? j'espère que non

coté doublons, je croyais que le problème était réglé, bizarre...

est ce que d'autres personnes on constaté la même chose?

A suivre...

Écrit par : sigmud35 16 Jan 2008, 18:42

CITATION(rtony30 @ 1 Dec 2007, 20:41) [snapback]261864[/snapback]
salut
icodia utilise cette version
Version du client MySQL: 3.23.58
et en local avec movamp-0.2
MySQL 4.0.20a
j ai pas de MySQL5
blush.gif
je continu à chercher
@+


Arf, non, 3.23.58 c'est la version du client MySQL intégré à php, rien à voir (et heureusement)... C'est 4.1.22 de mémoire...

Écrit par : paddybl 19 Jan 2008, 15:47

je remonte le sujet, alors pour les produits en double personne?
et les options: pas suivi un peut plus d'info sur les résultats serait bien.

j'ai reçut un mail des administrateurs osCommerce us pour savoir si je ne pouvait pas traduire mes textes d'explications de la contribution. si quelqu'un est assez fort en anglais pour reprendre mon descriptif directement et le traduire ce serait sympa...

A suivre (ou pas)...

Écrit par : steve26 26 Jan 2008, 00:46

Bonsoir !
Je viens d'installer cette contrib', et c'est un régal smile.gif
Ca marche très bien.

Quelques remarques :
Dans le fichier install.txt, ligne 103, tu indiques :
dans \catalog\admin\filenames.php

N'est-ce pas plutôt : dans \catalog\admin\includes\filenames.php ?

J'ai effectivement dû faire la modif' pour TABLE_COUNTER, mais pas de souci, c'était bien expliqué dans ton fichier.

J'ai aussi ajouté les 2 nouveaux champs, dans la table : orders_products_attributes

Ca m'évite le bandeau rouge d'erreur (au début j'avais mis une ligne en commentaire pour ne plus l'avoir tongue.gif)

Là il est tard, mais je dois regarder pour cette histoire de process_checkout à modifier

En effet, actuellement, ta page de stats fonctionne très bien, mais je n'utilise pas les options (je n'ai pas de menu apparent en tout cas).
Mais il est tard wink.gif

Concernant cette phrase dans ton fichier d'install :

CITATION
vérifier que les champs products_options_id,products_options_values_id de la table orders_products_attributes ne sont pas tous à 0


Vu que je viens de créer les deux champs dans la table orders_products_attributes, ils sont bel et bien vide.

Je verrais donc avec les futures commandes (et donc la modif de process_checkout) ce que ça donne !

Mais ce n'est qu'un détail pour moi, l'essentiel, et même plus est déjà en place !

Un dernier point, concernant, l'affichage de la date :
J'ai 11/12/2007 pour indiquer le 12 novembre 2007

Je n'ai pas encore eu le temps de regarder en détail si je peux afficher un format plus habituel.
Ca va se jouer ligne 946
CODE
<td align="right" class="dataTableContent"><?php echo tep_date_short($order_product['date']); ?></td>


Merci encore smile.gif

Écrit par : paddybl 27 Jan 2008, 12:44

Merci, ca fait plaisir.
il faudrait en effet corriger cette erreur dans le fichier install (filenames.php)
Je crois que je l'avais expliqué dans le fichier install tant que la modif d'enregistrement des options n'est pas activé la prise en charge des options n'est pas effective, donc résultat 0.
pour l'affichage des format date celà se passe dans le fichier de langue french.php

j'espère que quelqu'un se proposera pour traduire la page d'info sur osCommerce pour en proposer une version anglaise

Écrit par : steve26 27 Jan 2008, 14:10

Impeccable pour le format de langue, j'ai changé la ligne 20 du fichier /catalog/admin/includes/languages/french.php
par :

CODE
define('DATE_FORMAT', 'd/m/Y'); // this is used for date()

c'est ok smile.gif

ok pour les options, tu l'as précisé en effet (pas de cette manière), mais je ne suis pas familiarisé avec ce fonctionnement.
je vais voir pour la différence de code dans checkout_process.php, pour décider de son application ou pas. (comme j'utilise d'autres hack, je dois m'assure qu'il n'y a pas d'interférences.)
c'est vrai que cette partie n'est pas indispensable pour moi smile.gif

un dernier truc, au lieu du nom 'Nouveau fichier', tu devrais le renommer 'admin', ça permet de voir clairement à quoi sont destinés tes nouveaux fichiers.
comme ça, on remplace les fichiers du dossier 'admin' en place, par les tiens smile.gif
mais c'est juste un détail !

Écrit par : djudge34 5 Feb 2008, 18:23

Bonjour,
J'ai appliqué les modifications données dans les précédants messages de ce sujet or j'ai toujours des produits en double (car dans plusieurs catégories je suppose) ou des options de produits fausses.
Je met mon fichier en ligne ou quelqu'un pourrait il mettre la version finale pour qu'il n y ai plus ces erreurs SVP?
Merci de votre collaboration.
@bientot

Écrit par : paddybl 6 Feb 2008, 12:24

bonjour, en toute logique la version n'avait pas à étre modifié puisque je la réactualise à chaque fois.
malgré tous j'ai revu une ou 2 choses dont une qui me semble étre un bug. en 2 mots les options n'apparaissaient pas sous le nom du produit dans le listing.

concernant les produits en double, j'ai créé un lien de la même carte graphique au moin 3 fois dans plusieurs catégories différentes sans pour autant que le produit apparaisse en double ,triple dans les stats...

maintenant un détail des catégories, du produit, des résultats retournés (factures, sélections effectuées qui fait apparaitre le problème...) serait un peu plus informatif pour moi.

voici le lien de la version que j'ai modifiée :

http://www.mabootic.net/stats_products_order_by_paddybl.zip

A suivre...

Avec des détails.

Écrit par : djudge34 6 Feb 2008, 14:28

Impeccable.
Merci paddybl

Écrit par : paddybl 6 Feb 2008, 14:42

bon ok alors je republie cette version rolleyes.gif

dommage que personne ne m'ai proposé une traduction...

Écrit par : actarus1011 2 Apr 2008, 09:32

Salut et d'abord bravo pour la contrib... Je l'ai installée super aisément, et le résultat est concluant.... MAIS (il y en a toujours un), j'utilise la contrib customer discount. Hors les prix calculés pour les totaux ne tiennent pas compte des ristournes. Y aurait-il moyen d'intégrer cela ?

Merci et bonne continuation

Écrit par : paddybl 3 Apr 2008, 21:54

Salut et merci. Ca aurait été avec plaisir, mais(en voilà un autre...) si comme tu dis tu as réussi à installer la contribes sans difficultés, c'est justement car au moment de la conception j'ai "évité" d'inclure des parties de contrib qui ne faisaient pas partie d'osC. Hélas (sans avoir vérifié) je pense que customer discount rendrait la contrib inutilisable pour une installation standard. Mais si d'autres personnes l'on intégré pour leurs besoins personnelles, qu'ils n'hésite pas à placer leurs modif sur ce poste.

Merci d'avance pour actarus1011

A suivre...

Écrit par : orelouch 23 Apr 2008, 08:25

AIAIAIE! Ca m'a l'air tellement genial!
Mais bon, je l'ai installé et je dois être un gros nullard car en cliquant sur box_report_products_orders pour consulter... ... ...Rien.Nada.le vide complet une page blanche.
Alors je reviens en arrierre et je refais la manip qui me mene au même resultat.

Quelqu'un a une idée?

Écrit par : orelouch 23 Apr 2008, 11:05

Bon on avance j'ai maintenant un message d'erreur SQL:

CITATION
1064 - You have an error in your SQL syntax near 'where patrib.products_id='0' and patrib.options_id = popt.products_options_id an' at line 1

select count(*) as total from products_options popt INNER join products_attributes patrib where patrib.products_id='0' and patrib.options_id = popt.products_options_id and popt.language_id = '1'

[TEP STOP]


Merci de votre aide.

Écrit par : paddybl 23 Apr 2008, 11:55

on dirait un problème de compatibilité de version mysql.

recherche au alentour de la ligne 383:

CODE
tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt INNER join " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$product_selected . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'");


et remplace par:
CODE
tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$product_selected . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'");


sans garantie

A suivre

Écrit par : orelouch 23 Apr 2008, 12:56

Merci de ton aide,

en effet cette modif semble règler le problème du coup dois-je modifier le INNER JOIN à chaque requete SQL? je suis en version MySQL 3.23.58-log ( merci ovh ).

et à part ça, un autre se révèle juste après:

CITATION
1146 - Table 'monpharmoscomm.TABLE_COUNTER' doesn't exist

select startdate from TABLE_COUNTER


pour le second probleme il me manquait un define dans le fichier langue je l'ai modifié mais maintenant ca cherche non stop puis ça s'arrete, sans aucun message.

merci encore.

Écrit par : paddybl 23 Apr 2008, 13:40

CITATION(orelouch @ 23 Apr 2008, 13:56) [snapback]278921[/snapback]
Merci de ton aide,

en effet cette modif semble règler le problème du coup dois-je modifier le INNER JOIN à chaque requete SQL? je suis en version MySQL 3.23.58-log ( merci ovh ).

dans le cas où la version est réellement une 3.23 (c'est bizarre dire qu'on est censé etre en version 5.x) il est vaudrait mieux. problème c'est que j'ai déjà eu du mal avec les joinctions de table avec la version 4 de mysql alors avec une version antérieur je ne garantie rien du tous
CITATION
et à part ça, un autre se révèle juste après:

1146 - Table 'monpharmoscomm.TABLE_COUNTER' doesn't exist

select startdate from TABLE_COUNTERpour le second probleme il me manquait un define dans le fichier langue je l'ai modifié mais maintenant ca cherche non stop puis ça s'arrete, sans aucun message.

merci encore.

est la table existe?
c'est quoi la version osCommerce?

Écrit par : orelouch 23 Apr 2008, 14:02

CITATION(paddybl @ 23 Apr 2008, 14:40) [snapback]278947[/snapback]
dans le cas où la version est réellement une 3.23 (c'est bizarre dire qu'on est censé etre en version 5.x)


c'est la realese 1 d'ovh on ne peux pas upgrader mysql sans risquer de perdre la maintenance

et je presume que pour les left JOIN etc il en va de meme...
CITATION(paddybl @ 23 Apr 2008, 14:40) [snapback]278947[/snapback]
est la table existe?
c'est quoi la version osCommerce?


oui la table existe elle s'appelle counter.

je suis en MS2 mis en production il y a 2ans.

les autres contrisb fonctionnent en general mais ce sont toujours des anciennes.

imformation importante aussi: j'ai deporter la zone admin... du coup j'ai modifier le
CODE
require("../" . DIR_WS_LANGUAGES . $language .'/modules/order_total/ot_total.php');

en
CODE
require(DIR_FS_CATALOG . DIR_WS_LANGUAGES . $language .'/modules/order_total/ot_total.php');


je dois le modifier ailleur?

Écrit par : orelouch 24 Apr 2008, 18:19

bon le plus simple va être pour moi de supprimer cette contrib a contre cœur parce qu'elle me semble pourtant très utile.

Écrit par : paddybl 24 Apr 2008, 19:42

Désolé de ne pas avoir pu répondre depuis mon dernier message. hélas, je crains que le fait d'étre avec une version mysql trop ancienne rend ma contrib incompatible. j'en suis désolé mais il est plus dur de revenir en arrière que d'avancer parfois.
pourquoi ne pas envisager d'avancer (coté serveur) ? je sais qu'il y à des risques, ou que celà peu couter aussi parfois.
mais les choses n'iront pas en s'améliorant... Il est dommage de se priver de tout un tas de contributions qui nécessite php 4 ou 5 et mysql par la même évolution.
de mon coté j'ai programmé cette contribution avec beaucoup de joinctions de table et celà est incompatible parfois. si certains ont une version équivalente ne laissez pas orelouch seul...(j'ai fait ce que j'ai pu pour que cà fonctionne à peut près). J'ai apporté une base, maintenant celà ne m'appartient plus. tous le monde peu et devrait participer (chacun à son niveau, et merci à ceux qui l'on déjà fait...) , dans le principe du GNU/GPL.

Écrit par : ghost_1050 29 May 2008, 10:42

Bonjour tout d'abord merci pour cette contrib.
J'aurai voulu savoir s'il serait possible de faire un tri sur les customers avec un affichage par customers_lastname en remplacement du tri sur les manufacturer qui ne me sers pas pour ma boutique.
Merci d'avance pour la réponse.

Écrit par : paddybl 31 May 2008, 17:25

Merci, normalement si tu cliques sur le titre de chaque colonne celà doit changer le tri, si je me rappel bien

Écrit par : ghost_1050 2 Jun 2008, 10:13

Citation (paddybl @ 31 May 2008, 18:25) *
Merci, normalement si tu cliques sur le titre de chaque colonne celà doit changer le tri, si je me rappel bien

Bonjour en fait j'ai du mal formuler ma demande mais je souhaiterai faire apparaitre la liste des clients à la place de la liste des fournisseurs au niveau du choix pour avoir les informations que sur un client ou si possible avoir la possibilté de choisir les clients.
Merci d'avance cordialement.

Écrit par : paddybl 2 Jun 2008, 11:14

donc si j'ai bien suivi, tu veux pouvoir sortir les stats pour un client que tu sélectionnerai dans une liste.

je vais voir si je peux rajouter ca sans tous faire exploser.

A suivre...

Écrit par : paddybl 2 Jun 2008, 11:56

j'ai l'impression que c'est faisable, voici donc un liens vers la contribution mise à jours pour prendre en charge le tri par nom de client, en plus de tous les autres...

http://www.mabootic.net/stats_products_order_by_paddybl.zip

vérifiez bien les totaux, et dite moi si c'est ok

A suivre...

Écrit par : ghost_1050 2 Jun 2008, 12:26

Citation (paddybl @ 2 Jun 2008, 12:56) *
j'ai l'impression que c'est faisable, voici donc un liens vers la contribution mise à jours pour prendre en charge le tri par nom de client, en plus de tous les autres...

http://www.mabootic.net/stats_products_order_by_paddybl.zip

vérifiez bien les totaux, et dite moi si c'est ok

A suivre...

Merci c'est exactement ce qu'il me fallait je vais faire quelques tests pour vérifier si les chiffres correspondent.
Merci encore! biggrin.gif

Écrit par : Naomy 17 Jul 2008, 15:42

salut Paddybl,

je viens d'installer la dernière version (fevr08), elle est en effet trés utile merci !

je trouve cette action trés constructive et complètement dans l'esprit communautaire, bravo!
nous pouvons, chacun à son niveau, contribuer à la montée en compétence de la communauté. Alors quelques soit votre découverte ne le gardée pas pour vous, car vous pouvez etre sur qu'un ou qu'une tombera sur la même coquille …

alors voici une remarque certes des plus mineur mais qui pourrait en dérouter plus d'un, surtout les débutants comme moi unsure.gif :

le fichier filenames.php, ne se trouve pas dans \catalog\admin comme indiqué dans install.txt
mais dans \catalog\admin\includes

biggrin.gif

Écrit par : paddybl 18 Jul 2008, 09:03

Merci, on fait ce qu'on peu rolleyes.gif
C'est pas toujours simple de garder l'esprit communautaire quand il faut manger tous les jours. Programmer osc est tellement passionnant pour moi que mes journaux du matin et du soir son ce forum.
C'est un peu comme dans la vrai vie, lol... toujours les mêmes questions/réponses, des modérateurs que l'on apprend à connaitre et apprècier avec leurs réponses tranchantes comme des rasoirs, et même parfois marrantes;
Des participants Hyper-pointus et d'autre qu'on même pas envie de chercher...
et au final une source d'idées parfois géniales à développer.

En tous cas encore merci de remonter un peu "de chaleur"

pour l'erreur du fichier d'installation, et bien voilà une bonne idée, pour à ta manière apporter la pierre à l'édifice... Un petit correctif du fichier, et hop sur osCommerce.com

A suivre...

Écrit par : jp914 4 Sep 2008, 15:08

salut pad

Dis un truc qui pourrait être intéressant aussi ce serait de pouvoir faire un export CSV des donnée écran, je m'expliques avec la raison de cette demande.

Des client mon acheté tel produit, j'ai un rappel sur ce produit car défectueux, je sort le csv (comme la version imprimable) avec la liste des client qui on acheté ce produit, avec adresse et mail et leur envoie via une autre interface un mail ou un courrier.

merci de me repondre si c fesable

Écrit par : MariahStore 15 Sep 2008, 21:08

Salut !

Chez moi la ligne nombre de commandes donnent en fait le nombre de produits vendus.

Ca vous le fait aussi ou l'erreur vient que de moi ? Vous savez comment je peux arranger cela ?

Merci !

Écrit par : manelle 27 Oct 2008, 16:58

Bonjour,

J'ai beau appliquer à la lettre les instructions d'installation (en particulier la modification du fichier database_tables.php), j'ai toujours le même message d'erreur quand je tente d'accéder aux statistiques des produits vendus :

CODE
1146 - Table 'manelle_osc.TABLE_COUNTER' doesn't exist

select startdate from TABLE_COUNTER

[TEP STOP]


J'ai vérifié, ma base est bien en SQL5, donc je ne vois pas de quoi ça peut venir... J'ai tenté une réinstallation complète, mais rien n'y fait, toujours la même erreur...

Ceux qui ont réussi à installer cette contrib (et à s'en servir !) peuvent-ils me dire s'ils ont fait quelque chose de plus que ce qui est indiqué dans les instructions ?

Merci par avance !

Écrit par : paddybl 28 Oct 2008, 08:37

bonjour à tous.

manelle pour le petit cours:
lorsque tu as une erreur sql avec dans le texte un nom de table en majuscule comme ici : "TABLE_COUNTER"
c'est qu'il te manque la définition du nom de la table dans la base de données.

1 ere chose à faire vérifier que la table existe, donc ici la table counter. si oui il manque juste la définition du nom dans le fichier admin/includes/database_tables.php

il faut donc l'ajouter
avant le ?> de fin :

Code
define('TABLE_COUNTER','counter');


elle n'existe pas!
bon on va pas te laisser comme celà voilà à ajouter lancer dans un onglet sql de ton phpmyadmin:
Code
CREATE TABLE IF NOT EXISTS `counter` (
  `startdate` char(8) default NULL,
  `counter` int(12) default NULL,
  KEY `counter` (`counter`),
  KEY `startdate` (`startdate`)
) TYPE=MyISAM; --
-- Contenu de la table `counter`
-- INSERT INTO `counter` (`startdate`, `counter`) VALUES
('20050210', 0);


la valeur 20050210 correspond à la date de création de ta boutique

voila

pour MariahStore
tu as raison il sagit bien du nombre de produits vendus et non du nombre de commande. c'était mon but celà me paraissait plus utile de connaitre le nombre de produit vendu que le nombre de commande pour négocier avec les fournisseurs, non?

Écrit par : valpi 29 Oct 2008, 12:38

Bonjour et tout d'abord merci beaucoup pour cette contrib qui me tire une belle épine du pied !

Par contre, je cherche une solution pour pouvoir, outre l'impression, avoir la possibilité d'extraire les résultats vers mon ordi en fichier excel par exemple.

Auriez-vous une idée ?

J'ai déjà tenté "export_order_to_csv_v22" sans succès...
La contrib n'est jamais apparu dans l'admin...

Help....s'il vous plait wink.gif

Écrit par : paddybl 31 Oct 2008, 17:36

Bonjour a tous,

Comme c'est contribution à l'air de plaire, je viens d'en faire une nouvelle version...

elle permet l'export des résultats au format excel. j'ai repris aussi la page imprimable et divers autres choses.

je vous indique un lien temporaire pendant le test et le débuggage au cas où

http://www.mabootic.net/stats_products_order_by_paddybl_csv.zip
Attention, noté que des fichiers xls sont créés dans le répertoire temp (à la racine du site). celui-ci doit ètre autorisé en écriture (chmod 755)
pensé aussi à éffacer de temp en temp les fichiers créés)

autre remarque: l'utilisation des références risque de renvoyer une erreur serveur si vous en avez beaucoup! (délai dépassé pour trier et créer la liste)

bon test et bonne utilisation.

Écrit par : valpi 4 Nov 2008, 09:07

Super !

Merci beaucoup ! Je vais tester ca de ce pas !!

Écrit par : valpi 5 Nov 2008, 18:25

Alors j'ai téléchargé et tout et tout mais il me semble bien que cette version est identique à la précédente...

Ou alors le lien n'est pas bon ? unsure.gif

La contrib marche toujours très bien mais pas d'extraction excel...

Écrit par : paddybl 6 Nov 2008, 07:25

Je confirme qu'il sagit bien de la dernière version. le fichier doit normalement s'appeler:stats_products_order_by_paddybl_csv.zip
normalement le lien imprimer doit s'ètre transformé en imprimer/télécharger

revoir mon lien dans mon post avant celui là.

Écrit par : valpi 6 Nov 2008, 08:52

Autant pour moi !
J'ai du me mélanger les pinceaux avec la première version... wacko.gif

Donc, contrib installée !
Effectivement, j'ai à présent la possibilité d'imprimer ou de télécharger le listing au format excel.

MAIS, puisqu'il faut toujours un "mais"... lorsque je click pour télécharger le listing, j'ai un page d'erreur :

"Le site Web a refusé d’afficher cette page Web
HTTP 403
Causes les plus probables :
Ce site Web nécessite que vous vous connectiez. "

J'imagine que j'ai loupé un truc...
J'ai créer un fichier temp/ à cet endroit : catalog/temp/ qui a un CHMOD 755.

HELP....

PS: sinon TERRIBLE cette contrib ! merci beaucoup


Écrit par : paddybl 6 Nov 2008, 09:15

normalement tu devrais avoir 1 ou 2 fichier xls créé dans le répertoire catalog/temp. oui? non?
donne moi le lien que celà t'indique pour le téléchargement que je vois s'il y à un soucis dans l'url

Écrit par : delete 6 Nov 2008, 09:20

Citation (valpi @ 6 Nov 2008, 09:52) *
J'ai créer un fichier temp/ à cet endroit : catalog/temp/ qui a un CHMOD 755.


775 ce ne serait pas mieux ?

Écrit par : paddybl 6 Nov 2008, 10:53

en faite concernant les droit d'écriture celà dépends des serveur certain commence à 755 mais celà peut ètre aussi 777.
par contre est que le/les fichiers xls sont dans le répertoire!?
et qu'elle est le lien indiqué dans l'url qui va au fichier?
faut répondre aux questions... lol

Écrit par : valpi 7 Nov 2008, 11:05

Alors l'URL est bien

http://www.siteinternet.com/catalog/temp/result-Nov07-2008-105635.xls

Mais j'ai toujours le message Erreur 403
"Le site internet a refusé d'afficher cette page web "

Et si je vais voir dans le dossier temp/ ya rien de créer...

Ayé, j'ai répondu lol wink.gif

Écrit par : delete 7 Nov 2008, 11:17

Citation (valpi @ 7 Nov 2008, 12:05) *
Ayé, j'ai répondu lol wink.gif


Pour les droits non rolleyes.gif

Écrit par : valpi 7 Nov 2008, 12:21

Oups... tongue.gif

Alors j'avais mis 755... et pour ne pas mourrir bête j'ai tenté 777 mais pas plus de résultats...

J'ai quant même posé la question à mon hébergeur pour voir si ca viendrait pas de là...
J'attend la réponse.

Écrit par : paddybl 7 Nov 2008, 14:39

bon je pense qu'il est possible qu'un .htaccess ait pu bloqué le répertoire temp.
donc j'ai réuploadé une nouvelle version où on peut personnaliser le répertoire

ca se passe en ligne 23.
pour info: il faut changer le mot : temp par le nom de du répertoire que vous avez créé

il faut créer un répertoire à la racine du site du nom que vous voulez (par défaut temp)
pensez au droit en écriture.

personnalisé le pour éviter que tous le monde récupére vos résultats

A suivre...

ps: même lien qu' auparavant

Écrit par : manelle 8 Nov 2008, 19:42

Bonjour,

Et d'abord, paddybl, merci pour ta réponse (page précédente !) : j'ai fait "à l'aveuglette" ce que tu m'as dit, je n'ai vu aucune différence avec ce que j'avais fait... mais ça marche !

Comme je voudrais profiter de l'export csv, j'ai installé les fichiers modifiés : j'ai bien le lien Imprimer/Télécharger, sur la page de mon rapport, mais j'ai des erreurs quand je clique dessus, alors que mon temp est en 777 ; j'essaierai bien ce que tu dis ci-dessus, mais :

Citation
il faut que vous ayez un répertoire accessible en lecture et écriture à la racine du catalog. par défaut (temp). Pensez à personnalisé le nom du répertoire en ligne 23:

define('.DIR_STATS_DIRECTORY','temp');


Je veux bien faire ça, mais.... dans la ligne 23 de quel fichier ??? !!!

Merci par avance de ta réponse !

EDIT : j'ai trouvé, c'est dans le fichier stats_products_orders.php à la racine du dossier admin...

... mais ça ne marche pas davantage, j'ai toujours le message suivant :
impossible d'écrire dans le répertoire /xxxxxxx/catalog/export
(j'ai renommé le dossier "temp" en "export")

Écrit par : valpi 9 Nov 2008, 10:56

Ca ressemble beaucoup à des problèmes de droits d'accès ca , non ?

Demande peut-être à ton hébergeur ?

Écrit par : paddybl 9 Nov 2008, 12:22

bonjour
en effet la modif pour le nom de fichier se fait dans /admin/stats_products_orders.php

si tu vois cette ligne en rouge apparaitre, il sagit d'un test que je fait effectuer pour vérifier que le fichier à réussi à se créé dans le répertoire que vous avez indiqué. dans ton cas c'est donc que non.
il faut vérifier s'il n'y a pas une erreur dans le chemin indiqué en rouge (et pas avec des XXXX)
si le répertoire est autorisé en écriture.

s'il y à une erreur dans le chemin ou dans les liens, c'est que votre fichier configure.php du répertoire admin/includes et mal paramétré.

utilisation de :
HTTP_SERVER
DIR_WS_CATALOG
DIR_FS_DOCUMENT_ROOT

après si ca ne marche toujours pas peut ètre qu'il existe une différence entre php4 et php5 dans la création d'un fichier à la volé , non? fonction touch() peut ètre?

ils doivent étre tous défini et juste

Écrit par : spoody 10 Nov 2008, 11:10

Bonjour à tous et merci paddybl pour cette superbe contribution,

Je voudrais savoir, s'il est possible d'avoir un lien direct sur le nom du fabricant, pour se rendre directement sur son site .
sachant que son son url est renseigner dans la base manufacturers_info sur l'ID manufacturers_url.

Ayant la plupart de mes fournisseurs sur le web, il me serait plus pratique lors des statistiques de me rendre sur son site pour commander les produits les plus vendus constaté dans les stats.

Merci
Spoody

Écrit par : paddybl 10 Nov 2008, 11:23

oh oui ca doit pas ètre compliqué. je fais ca dans la journée. et l'export excel sa marche ou bien ?

Écrit par : spoody 10 Nov 2008, 11:39

Merci paddybl

Pour l'export excel je ne peux pas te répondre étant donné que j'en ai pas utilité je n'ai pas fait la mise à jour de la contrib.

Spoody

Écrit par : paddybl 10 Nov 2008, 11:47

voilà, aussitot dit, aussitot fait.
il suffit de remplacer le fichier stats_products_orders.php par la nouvelle version.

Écrit par : spoody 10 Nov 2008, 12:15

Ok , merci aussitôt dit aussitôt fait c'est nickel .
bonne continuation pour cette contrib, super pratique et fonctionnel .
Spoody

Écrit par : spoody 10 Nov 2008, 12:43

Par contre, maintenant avec le nouveau fichier stats_products_orders.php j'ai une page rempli d'erreur lorsque je fais imprimer / télécharger !

Je précise que je suis en local : j'obtiens en chemin indiqué en rouge : impossible d'écrire dans le répertoire C:/Program Files/EasyPHP 2.0b1/www/temp

Donc bon chemin vu que c'est bien le répertoire qui contient un dossier temp que j'ai rajouté avant.

Je ne sais pas si c'est lié à la non création du fichier xls, mais j'ai aussi tout un paquet de ligne d'erreur :

Code
Warning: fopen(C:/Program Files/EasyPHP 2.0b1/www/DIR_STATS_DIRECTORY/listing-Nov10-2008-123039.xls) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1111
impossible d'écrire dans le répertoire C:/Program Files/EasyPHP 2.0b1/www/temp
Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1114

Warning: fopen(C:/Program Files/EasyPHP 2.0b1/www/DIR_STATS_DIRECTORY/result-Nov10-2008-123039.xls) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1116

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1117
Télécharger le listing au format EXCEL.  |  Télécharger les résultats au format EXCEL.


Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1147

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1148

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1149

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1150

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1151

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1152

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1153

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1154

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1155

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1156

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1157

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1158

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1159

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1160

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1161

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1162

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1163

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1218

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1219

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1220

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1221

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1222

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1223

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1224

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1225

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1226

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1227

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1228

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1229

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1230

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1231

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1232

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1233

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1234

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1218

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1219

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1220

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1221

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1222

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1223

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1224

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1225

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1226

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1227

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1228

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1229

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1230

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1231

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1232

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1233

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1234

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1218

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1219

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1220

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1221

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1222

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1223

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1224

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1225

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1226

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1227

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1228

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1229

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1230

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1231

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1232

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1233

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1234

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1218

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1219

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1220

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1221

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1222

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1223

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1224

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1225

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1226

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1227

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1228

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1229

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1230

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1231

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1232

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1233

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1234

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1218

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1219

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1220

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1221

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1222

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1223

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1224

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1225

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1226

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1227

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1228

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1229

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1230

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1231

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1232

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1233

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1234

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1218

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1219

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1220

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1221

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1222

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1223

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1224

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1225

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1226

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1227

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1228

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1229

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1230

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1231

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1232

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1233

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1234

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1218

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1219

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1220

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1221

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1222

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1223

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1224

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1225

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1226

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1227

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1228

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1229

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1230

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1231

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1232

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1233

Warning: fputs(): supplied argument is not a valid stream resource in C:\Program Files\EasyPHP 2.0b1\www\admin\stats_products_orders.php on line 1234


Sinon j'ai vérifiée ma version php qui est la 5.2.0 et mysql qui est la 5.0.27
Voilà, si ça peut servir à avancé, en attendant je laisse comme ça .

Spoody

Écrit par : paddybl 12 Nov 2008, 07:39

Mon écran est tellement sale que j'avais pas vu le point qui s'était glissé dans le nom de la définition du repertoire ligne 23. blush.gif
je rappel qu'il est nécessaire d'ajuster le nom à votre répertoire.

j'ai remis à jours l'archive.

spoody: 2 solutions soit tu remplaces le fichier stats_products_orders.php soit tu supprimes le point avant DIR_STATS_DIRECTORY

Écrit par : manelle 14 Nov 2008, 23:20

Bonjour,

Super, ça marche impeccable, comme ça : j'avais le même problème que spoody, et c'est réglé... les listings sortent comme il faut... je n'ai pas pris le temps de les vérifier, mais ça m'a l'air bon

Merci à toi, paddybl smile.gif

Écrit par : manelle 25 Nov 2008, 00:14

Bon, me revoilà ! Il y a finalement quelques petits soucis avec les fichiers xls créés : en particulier (et c'est le plus embêtant), certains montants apparaissent en format... Date !!! ce qui n'est pas vraiment pratique !!!

Quelqu'un voit-il une solution ?

Merci par avance !

Écrit par : manelle 3 Feb 2009, 17:33

Hello,

je reviens sur cette contribution ; y a-t-il moyen de personnaliser les champs à afficher dans le rapport ? En fait, par défaut sont affichés tous les champs, et j'en ai besoin de beaucoup moins... Plutôt que de désélectionner certains champs à l'export csv, j'imagine qu'il est possible de modifier le fichier stats_products_orders.php

... mais je ne sais pas trop comment... Quelqu'un a-t-il une idée de génie ? huh.gif

Merci par avance !

Écrit par : audioshop55 17 Feb 2009, 11:23

salut,

Je me faisais une joie d'installer cette contribution mais j'ai eu la mauvaise surprise de lire ça dans le fichier install.txt

Citation
Note sur cette version !

!!!!!!!! Attention cette version de STATS PRODUCTS ORDERS n'est pas compatible
Ecotax ver 1.3 ou sup. par paddybl !!!!!!!!



et malheureusement cette contrib est installer sur mon osc !

je voudrais savoir qu'elles sont les incompatibilitées de cette contrib avec Ecotax ver 1.3, de plus ce sont 2 contrib créer par toi paddybl on aurais pu s'attendre à ce qu'elles soient compatibles blush.gif

pense tu qu'il pourras y avoir une version compatible avec Ecotax ver 1.3 un jour?

merci en tous cas pour tes efforts car ils sont nombreux wink.gif

Écrit par : Fario001 23 Feb 2009, 20:30

Bonjour à tous,
j'ai télécharger et installer cette contribution hier et depuis je m'arrache les cheveux !
Presque tout fonctionne.... sauf la présentation, pour les 5 premières lignes affichée cela semble être presque corect, mais après cela part dans tout les sens ! avez vous une idée sur le sujet ? wacko.gif

Voic à quoi cela ressemble, en fait il faudrais un écran de 3 metres de large pour pouvoir visonner l'ensemble !?








Je travail sur un serveur distant, Système d'exploitation :
Linux 2.6.9-42.ELsmp
Base de données : MySQL 4.1.20-log
Serveur HTTP : Apache/2.0.52 (Red Hat)
Version PHP : 4.3.9 (Zend : 1.3.0)

Merci

a+ Thierry

Écrit par : paddybl 28 Feb 2009, 13:49

salut à tous

fario001:
c'est difficile à dire vu que tu à masqué les lignes où j'aurais peut ètre pu me rendre compte. mais à vu de nez je me demande si tu n'aurais pas des balises html dans tes noms.

en ligne 1198 trouve:

Code
   echo '[<a href="' .  tep_href_link(FILENAME_STATS_PRODUCTS_ORDERS, 'product_selected='.$order_product['product_id'].'&manufacturer_selected='.$manufacturer_selected.'&categorie_selected='.$categorie_selected.'&year='.$year.'&month='.$month.'&day='.$day, 'NONSSL') . '" style="color:red" title="'.TEXT_CHOOSE_PRODUCT.'">'.$order_product['product_id'].'</a>] <b><a href="' .  tep_catalog_href_link('product_info.php', 'products_id='.$order_product['product_id'], 'NONSSL') . '" target="_blank" title="'.TEXT_VIEW_PRODUCT.'"  onMouseover="ddrivetip(\''.html_no_quote(display_full_price($order_product)).'\')" onMouseout="hideddrivetip()">'.$order_product['product_name'].'</a></b><br>'.$manufacturer_name; ?>

est remplace par:
Code
   echo '[<a href="' .  tep_href_link(FILENAME_STATS_PRODUCTS_ORDERS, 'product_selected='.$order_product['product_id'].'&manufacturer_selected='.$manufacturer_selected.'&categorie_selected='.$categorie_selected.'&year='.$year.'&month='.$month.'&day='.$day, 'NONSSL') . '" style="color:red" title="'.TEXT_CHOOSE_PRODUCT.'">'.$order_product['product_id'].'</a>] <b><a href="' .  tep_catalog_href_link('product_info.php', 'products_id='.$order_product['product_id'], 'NONSSL') . '" target="_blank" title="'.TEXT_VIEW_PRODUCT.'"  onMouseover="ddrivetip(\''.html_no_quote(display_full_price($order_product)).'\')" onMouseout="hideddrivetip()">'.strip_tags($order_product['product_name']).'</a></b><br>'.strip_tags($manufacturer_name); ?>


j'ai simplement ajouté la balise strip_tags() autour des nom du produit et du fabriquant

pas sur que ce soit celà mais bon.la source me serait plus utile

audioshop55
c'est pas que c'est incompatible mais les résultats retournées ne tiennent pas compte de l'ecotax

Écrit par : Fario001 7 Mar 2009, 16:09

Hé bien j'ai résolu le probleme en plaçant une autre contrib Statistic-1.2, en fait je n'avais pas besoin de plus.
Merci quand même pour tes infos précieuses.

J'ai été obliger de masquer car ce son des infos confidentiel, le site est en ligne.
Je n'avais rien modifier au code de la page qui se trouvais dans la contribution téléchargée.

Bien à toi

Écrit par : grant 1 May 2009, 09:16

Bonjour tout le monde

Bravo Paddybl pour cette superbe contribution. En revanche, il manque un tabeau synoptique ou plutôt une matrice dynamique récupérant toutes les données de la base pour fournir une vision globale sur l'ensemble de l'année et jour par jour sur l'état de vente de tous les produits, ou bien produit par produit. Le résultat étant la vente HT, TTC, TVA ou par quantité. Mais un dessin vaut mieux qu'un long discours. ( Voir l'image du tableau ci-joint ).

Pour Info, delete dans ce forum a évoqué un peu la même chose mais pour le mode de paiement à cette adresse http://www.oscommerce-fr.info/forum/index.php?showtopic=55361&hl=statistiques

Si les membres de la communauté peuvent réaliser ce tableau dynamique , celà apportera un plus indéniable dans l'analyse des données
Voici le shéma du tableau :

Autres point important, c'est au niveau des totaux par mois. Quand on clique sur un total, on tombe sur le tableau d'analyse fournit par Paddybl qui donne la liste des clients avec leurs achats jour par jour. Voilà la bouteille est maintenant lancée

Écrit par : manelle 19 Sep 2009, 12:00

Bonjour à tous,

En plus de cette contribution, qui m'est très utile, j'ai installé la contrib login with customers number 1.0a, qui permet d'ajouter un n° de client... J'aimerais que le rapport obtenu avec Stats products orders fasse apparaître ce n° de client.

J'ai tâtonné, fait des essais, mais sans résultats : je sais ajouter la colonne correspondante, mais je n'arrive pas à y insérer ce n° de client ; je ne suis pas précisément une experte en php, et je ne sais pas trop sur quelle requête je dois jouer pour "appeler" ce n° de client.

Quelqu'un aurait-il une solution ?

Merci par avance smile.gif

Écrit par : paddybl 25 Sep 2009, 11:03

Bonjour à tous,
hélas manelle, il m'est difficile de répondre aux cas particuliers de chacun. J'essai de faire que la contribution soit installable par un maximum d'utilisateur se basant sur la version standard. Si je modifie le code source pour intégrer ta contribution, stats products order ne fonctionnera plus pour les autres.


Sur une bonne idée d'un membre du forum oscommerce.com, j'ai ajouté la possibilité de choisir une plage de date.
Le système reste presque le même. On peu toujours indiquer des périodes allant du jours, à la semaine, au mois et à l'année.
Mais maintenant en complétant la "date de début" entièrement (jj/mm/aaaa), vous verrez apparaitre les champs de fin de période à compléter pour définir une plage de date précise.

Ce n'est pas une révolution, juste une fonctionnalité de plus.

J'attends vos retours.

A suivre...

MaJ: La nouvelle version de la contribution est en ligne sur le site officiel

Écrit par : Dozier 14 Dec 2009, 13:44

à NOZIC : Cette fois, je crois être au bon endroit pour poster ma question blush.gif

Comment faire pour afficher toutes les commandes d'un article et non pas uniquement ceux qui ont plus de 20 commande ?
dans l'install de la contrib je trouve :

Citation
des sélécteurs de page(s) vous permettent de naviguer entre les différents résultat si ceux-ci sont supérieur à 20
Les entêtes du tableau de résultat permettent de classer la liste par ordre croissant-décroissant.
les liens de résultats permettent:
- Editer la commande
- Envoyer un E-mail
- Afficher la page du produit

Est-ce possible ?
Que dois-je modifier ?

Le soft affiche un coût par produit. D'ou provient-t-il ?

Merci

Écrit par : myphp_51 21 Mar 2014, 17:05

Bonjour,

Cette contribution est super mais malheureusement elle n'est pas adapté avec la version 2.3 d'oscommerce, aussi quand je fait le tri par catégories j'ai le message Aucun produit pour ces critères de sélection avec une table vide, j'ai essayé de trouver la source de ce problème mais ça marche pas, j'ai besoin de vos aides pour résoudre ce problème.

Merci

Écrit par : skieur 28 Dec 2015, 16:24

Bonjour

je viens d'installer cette contribution sur une version osc 2.2 rc1 elle marche bien, mais lorsque je fais une recherche par produit j'ai systématiquement aucune occurrence : Aucun produit pour ces critères de sélection

des idée de piste de recherche ?
est ce qu'il peux y avoir un rapport avec les filtres d'option ?
une contrib qui gère les options de produits ?
Est elle compatible avec la v 2.2 rc1 ?

merci

Écrit par : Bonbec 29 Dec 2015, 08:50

Bonjour,

Je ne l'ai pas installée car je viens de la découvrir en regardant les derniers messages du forum.
Peut-être que cette partie du fichier d'installation correspond au soucis rencontré ?

Code
### Note sur l'utilisation des options

si lors de l'utilisation des critères d'options, les résultat ne vous retournent aucun enregistrement, vérifier que les champs products_options_id,products_options_values_id de la table orders_products_attributes ne sont pas tous à 0

ou si vous voyez le message suivant apparaitre: "ERREUR: Vous ne pouvez pas utiliser les filtres par options"

si c'est le cas:

dans \catalog\checkout_process.php
******************************************************************
--------------------------------  
Rechercher
--------------------------------
      for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) {
        if (DOWNLOAD_ENABLED == 'true') {
          $attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename
                               from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa
                               left join " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad
                                on pa.products_attributes_id=pad.products_attributes_id
                               where pa.products_id = '" . $order->products[$i]['id'] . "'
                                and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "'
                                and pa.options_id = popt.products_options_id
                                and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "'
                                and pa.options_values_id = poval.products_options_values_id
                                and popt.language_id = '" . $languages_id . "'
                                and poval.language_id = '" . $languages_id . "'";
          $attributes = tep_db_query($attributes_query);
        } else {
          $attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa where pa.products_id = '" . $order->products[$i]['id'] . "' and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "' and pa.options_id = popt.products_options_id and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "' and pa.options_values_id = poval.products_options_values_id and popt.language_id = '" . $languages_id . "' and poval.language_id = '" . $languages_id . "'");
        }
        $attributes_values = tep_db_fetch_array($attributes);

        $sql_data_array = array('orders_id' => $insert_id,
                                'orders_products_id' => $order_products_id,
                                'products_options' => $attributes_values['products_options_name'],
                                'products_options_values' => $attributes_values['products_options_values_name'],
                                'options_values_price' => $attributes_values['options_values_price'],
                                'price_prefix' => $attributes_values['price_prefix']);
        tep_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array);

        if ((DOWNLOAD_ENABLED == 'true') && isset($attributes_values['products_attributes_filename']) && tep_not_null($attributes_values['products_attributes_filename'])) {
          $sql_data_array = array('orders_id' => $insert_id,
                                  'orders_products_id' => $order_products_id,
                                  'orders_products_filename' => $attributes_values['products_attributes_filename'],
                                  'download_maxdays' => $attributes_values['products_attributes_maxdays'],
                                  'download_count' => $attributes_values['products_attributes_maxcount']);
          tep_db_perform(TABLE_ORDERS_PRODUCTS_DOWNLOAD, $sql_data_array);
        }
        $products_ordered_attributes .= "\n\t" . $attributes_values['products_options_name'] . ' ' . $attributes_values['products_options_values_name'];
      }
    }
--------------------------------  
Remplacer par
--------------------------------
      for ($j=0, $n2=sizeof($order->products[$i]['attributes']); $j<$n2; $j++) {  
        //debut modif by paddyl for stats products orders      
        $sql_data_array = array('orders_id' => $insert_id,
                                'orders_products_id' => $order_products_id,
                                'products_options' => $order->products[$i]['attributes'][$j]['option'],
                                'products_options_values' => $order->products[$i]['attributes'][$j]['value'],
                                'options_values_price' => $order->products[$i]['attributes'][$j]['price'],
                                'price_prefix' => $order->products[$i]['attributes'][$j]['prefix'],
                                'products_options_id' => $order->products[$i]['attributes'][$j]['option_id'],
                                'products_options_values_id' => $order->products[$i]['attributes'][$j]['value_id']);
        tep_db_perform(TABLE_ORDERS_PRODUCTS_ATTRIBUTES, $sql_data_array);
        
        if (DOWNLOAD_ENABLED == 'true') {
          $attributes_query = "select pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename
                           from " . TABLE_PRODUCTS_ATTRIBUTES . " pa,
                                " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad
                               where pa.products_id = '" . $order->products[$i]['id'] . "'
                                and pa.options_id = '" . $order->products[$i]['attributes'][$j]['option_id'] . "'
                                and pa.options_values_id = '" . $order->products[$i]['attributes'][$j]['value_id'] . "'
                                and pa.products_attributes_id = pad.products_attributes_id";
          $attributes = tep_db_query($attributes_query);
          
        $attributes_values = tep_db_fetch_array($attributes);

          if ( isset($attributes_values['products_attributes_filename']) && tep_not_null($attributes_values['products_attributes_filename']) ) {
          $sql_data_array = array('orders_id' => $insert_id,
                                  'orders_products_id' => $order_products_id,
                                  'orders_products_filename' => $attributes_values['products_attributes_filename'],
                                  'download_maxdays' => $attributes_values['products_attributes_maxdays'],
                                  'download_count' => $attributes_values['products_attributes_maxcount']);
          tep_db_perform(TABLE_ORDERS_PRODUCTS_DOWNLOAD, $sql_data_array);
        }
        }


        $products_ordered_attributes .= "\n\t" . $order->products[$i]['attributes'][$j]['option'] . ' ' . $order->products[$i]['attributes'][$j]['value'] . ' ' . $order->products[$i]['attributes'][$j]['prefix'] . ' ' . $currencies->display_price($order->products[$i]['attributes'][$j]['price'], tep_get_tax_rate($products[$i]['tax_class_id']),1);
        //fin modif by paddybl for stats products orders
      }
    }
--------------------------------  
sauvegarder
--------------------------------

si vous voyez le message suivant apparaitre: "ERREUR: Vous ne pouvez pas utiliser les filtres par options"
il est nécessaire d'ajouter les champs products_options_id,products_options_values_id à la table orders_products_attributes.

dans phpmyadmin, onglet sql
lancer ces lignes:

ALTER TABLE orders_products_attributes
  ADD products_options_id int(11) default '0' not null;
ALTER TABLE orders_products_attributes
  ADD products_options_values_id int(11) default '0' not null;    

Notez que les critères de tries ne seront pris en compte qu'après ces modifications.

Écrit par : Graham8bk 14 Jan 2016, 09:20

Merci beaucoup pour ce très bon topic.

Écrit par : multiman 10 Aug 2016, 13:37

Merci pour cette superbe contribution. Très bon travail !!!
Un énorme merci.

Écrit par : paddybl 12 Aug 2016, 09:46

Ben de rien smile.gif

Écrit par : paddybl 5 Apr 2017, 09:32

Salut à tous. je ne sais pas si celà intéresse encore quelqu'un, mais de mon coté je redécouvert un soucis avec la recherche avec le tri par option du produit

aux alentours de la ligne 556 du fichier stats_products_orders.php
il faut remplacer cà

Code
         if (isset($_GET['add_product_options'])&&$has_attributes ==true  && $optionIn==true) {
          foreach($_GET['add_product_options'] as $option_id => $option_value_id) {

              $result_query_raw = "SELECT distinct(op.orders_products_id) FROM " . TABLE_ORDERS_PRODUCTS . " op  left JOIN  ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES." pa on pa.orders_products_id=op.orders_products_id WHERE ";
$result_query_raw .=((int)$option_value_id!=0)? " pa.products_options_id='".(int)$option_id."' and pa.products_options_values_id='".(int)$option_value_id."' and op.products_id='".(int)$product_selected."'":"1=1";
   $result_query=tep_db_query($result_query_raw);
if(tep_db_num_rows($result_query)>0) {
$sql='';
while ($sql_result = tep_db_fetch_array($result_query)) {
$sql.=$sql_result['orders_products_id'].',';
}
$sql=substr($sql,0,strlen($sql)-1);
$new_customers_query_raw .=" and op.orders_products_id IN (".$sql.")";
}elseif((int)$option_value_id!=0){$new_customers_query_raw .=" and op.orders_products_id IN (0)";}
             }

             }

par çà

Code
if (isset($_GET['add_product_options'])&&$has_attributes ==true  && $optionIn==true) {
          foreach($_GET['add_product_options'] as $option_id => $option_value_id) {

if((int)$option_value_id!=0){
              $result_query_raw = "SELECT distinct(op.orders_products_id) FROM " . TABLE_ORDERS_PRODUCTS . " op  INNER JOIN  ".TABLE_ORDERS_PRODUCTS_ATTRIBUTES." pa on pa.orders_products_id=op.orders_products_id WHERE pa.products_options_id='".(int)$option_id."' and pa.products_options_values_id='".(int)$option_value_id."' and op.products_id='".(int)$product_selected."'";

   $result_query=tep_db_query($result_query_raw);
if(tep_db_num_rows($result_query)>0) {
$sql='';
while ($sql_result = tep_db_fetch_array($result_query)) {
$sql.=$sql_result['orders_products_id'].',';
}
$sql=substr($sql,0,strlen($sql)-1);

$order_product_query_raw .=" and op.orders_products_id IN (".$sql.")";
}elseif((int)$option_value_id!=0){$order_product_query_raw .=" and op.orders_products_id IN (0)";}}
             }

             }

la sélection avec toute les options ne devrait plus retourner un résultat vide

Écrit par : Bonbec 6 Apr 2017, 06:09

Bonjour,
Même si je n'ai pas d'options actuellement, je vais mettre à jour le script sur mon site.
Merci smile.gif

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)