Aller au contenu

Spidetra

Hubmaster
  • Compteur de contenus

    326
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par Spidetra

  1. Un bon fichier fournisseur, c'est une partie du trésor de guerre d'une entreprise. Au moins autant que le fichier client. Sauf âme très généreuse sur le hub, ça va être à toi de prendre ton baton de pélerin et de te constituer ce fichier. Annuaires Pro, Salon Pro, Syndicat Pro, etc.... J'anticipe une future question : non je ne connait pas de bon fournisseurs dans le textile. Dans le higth-tech oui, mais pas dans le textile.
  2. Nous étions plutôt un grand site. Et nous avions la chance d'être bien suivi par la gendarmerie. Avec un gendarme qui passait souvent nous voir. Pour l'IP, avec chacune de nos commandes l'IP était enregistré. C'est nous qui la fournissions à la gendarmerie. Abouti ou pas ? Aucune idée. Je m'occupait que d'informatique. En tout cas l'ensemble des contentieux, fraudes, colis perdu et tuti quanti mobilisait au moins une personne à temps plein.
  3. merci d'avoir pris le temps de me répondre ( et surtout de me lire ) Le niveau de contraintes pour les options est de niveau 1. Il est relativement facile de gérer de manière classique par des tables annexes. Le choix est imposé par une nouvelle contrainte : La liste des disponibilités doit être mise à jour en temps réels en fonction des choix de l'utilisateur. Ajax et mode Web 2.0 obligent Je ne peux plus me permettre d'aller faire une requête en me liant avec les différentes tables pour aller choisir les bonnes options. D'où mon intérêt pour les techniques de bit bashing. Le SELECT va devenir mono-table, avec une seule condition sur un champ en BIGINT qui sera indexé. J'ai besoin d'une requête très performante et j'espère qu'un tel choix me permettra de gagner en perf.
  4. Salut le Hub, Désolé pour la longueur du post. J'ai besoin de gérer des options multiples pour une gamme de produits. Pour simplifier et optimiser les requêtes, j'ai décidé d'utiliser des techniques de bit bashing http://www.webmaster-hub.com/publication/article75.html Je dois gérer ces options : - dans le stockage de mes données en SQL - Dans les traitements en PHP - En javascript : gestion des cases à cocher. J'ai une connaissance théorique de ces techniques. Mais j'avoue ne pas être très à l'aise avec les opérateurs binaires. Le Problème : Je doit gérer de [1..n] options contenant chacune de [2..m] possibilités. Je ne connais pas les valeurs max de n et de m. Les possibilités pour une option donnés sont mutuellement exclusive. Même si en début de projet je vais essayer d'être le plus exhaustif possible sur les différentes options, je veux pouvoir ajouter de nouvelles options ou de nouveaux choix sans problème. Je ne veux pas gérer ces options avec des requêtes SQL complexe, et une ribambelle de AND ou de OR. D'où le choix du bit bashing. Exemple avec 3 options : Option 1 : => Choix A, B, C, D, E, F Option 2 : => choix A, B Option 3 : => A, B, C, D Je pourrais avoir les produits : Produit 1 : 1A & 2A & 3A Produit 2 : 1D & 2A & 3C Produit 3 : 1A & 2A & 3D etc.... Mon problème va se situer : 1. Au niveau du stockage dans la base SQL 2. Au niveau de la sélection. La Solution : Format du champ de stockage :BIGINT unsigned ( 64-bits ). Cela va me laisser 64 possiblités d'option ce qui devrait être suffisant ( j'espère ! ). Première approximation, sans forcer, une trentaine d'options Concrètement : 1. Comment je stocke mes valeurs d'option dans la base ? Est-ce que je suis obligé de les saisir en base 10 ou est-ce qu'il est possible de les saisir dans une autre base ( base Hexa ) ? En base 10, si je dépasse les 30 options, la saisie est sujette a erreur. 2. Pour stocker la valeur d'un produit : C'est le plus simple. Je pense qu'en faisant un & binaire entre les options c'est bon. 3. La sélection des produits La sélection des produits va dépendre de cases à cocher gérer par l'utilisateur final. J'ai envie ( en javascript ) de stocker la résultante des choix de l'utilisateur dans une seule variable. Mon problème c'est que je doit stocker des & et des | dans cette variable : Ex : Si l'utilisateur a coché toutes les cases possibles. Sauf erreur de ma part : ( 1A | 1B | 1C....etc ) & ( 2A | 2B ) & ( 3A | 3B | 3C | 3D ) Le plus simple serait d'avoir une seule variable que je pourrais modifier sur chaque action de check, uncheck. Est-ce que c'est possible en utilisant les opérateurs sur les bits ? Est-ce qu'il serait préférable de gérer une variable par option ? Ouf !.... Merci à tout ceux qui auront eu le courage de lire jusqu'ici
  5. Oui, je sais. J'ai une lecture très restrictive de Opt-in et Opt-out. Une adresse mail devient véritablement opt-out lorsque tu as cliqué sur le lien : je veux me désinscrire. Ce lien étant obligatoire dans toutes les campagnes d'e-mailing/
  6. Un million de mails opt-in ? Ty y croit vraiment Opt-In et achat de fichier sont pour moi anti-nomique. Tu as un fichier mail opt-in, tu le vend, le fichier devient automatiquement opt-out.
  7. Nos posts ce sont croisés, j'édite le mien.... Pour éviter ce genre de pb : 1. Il te faut un bon éditeur bien configurer. 2. Ton Level Error doit être configurer sur NOTICE en phase de dev. Je viens de comprendre d'où vient ta coquille. Tu as fait juste un copier / coller de la requête SQL que j'ai posté plus haut
  8. Dans ta requête : count(*) as nb_entrees dans ton code Php : $data2->nbre_entrees
  9. Séparons les pb SQL et Php. 1. Est-ce que la requête que je te suggère répond à ton problème ? Si tu la teste dans phpMyAdmin ou Mysql Query Brower, qu'est-ce qu'elle te retourne ? Est-ce que le résultat correspond à ce que tu attends ? Si tu répond oui à toutes ces questions ton pb SQL est résolu. 2. En Php, si tu as une seule requête tu n'as plus besoin d'avoir deux boucles. Tu simplifie ton code et ça devrait rouler.
  10. Pourquoi ne pas faire une seule requête ? SELECT SUM(montant) AS total, count(*) as nb_entrees FROM matable WHERE YEAR(o_timestamp) = 2006 and statut = '0' GROUP BY MONTH(o_timestamp)
  11. Vraiment désole. ça c'est un coup dur Nous avons eu le même problème en interne l'an dernier. 24H00 de transactions perdu et ceux malgré la mise en place d'un système RAID trois mois plus tôt. Mauvaise config du RAID, mauvaise manip du technicien qui est intervenus. Mystère ! Pour ton pb j'envisagerai les inconvénients et avantages de deux solutions : 1. Réplication mySQL : => Est-il possible de mettre en place un système de réplication entre OVH et ton back-office ? => Quelles contraintes en terme de charge serveur ? 2. Solution Cluster de chez OVH : J'avais vu une solution cluster chez OVH. Ce qui pourrait être intéressant dans ton cas c'est le filler qui est mis derrière les serveurs web. http://www.ovh.com/fr/produits/cluster.xml J'ai des doutes sur cette solution pour ceux qui cherchent des vrais clusters. Dans ton cas c'est différents : Ce que tu cherche c'est une sécurisation des données. Il va falloir compter un budget entre 250 - 300 HT / mois. La disponibilité, ça a un prix... J'espère pour toi que tout va s'arranger rapidement Et je te rassure, le pire arrive parfois... et c'est douloureux !
  12. Bonsoir le hub, Je n'arrive pas à rendre mon serveur mysql de test insensible à la casse ( MySQL 5.0.18-nt ). Deux variables systèmes servent à configurer la sensibilité à la casse : A priori pour le nom des tables ça à l'air correct : lower_case_table_names=1 l'autre variable lower_case_file_system est à OFF. Je n'arrive pas à la positionner à ON. SET lower_case_file_system=ON donne le message d'erreur suivant => "Unknown system variable 'lower_case_file_system'" La configuration de cette variable dans le my.ini => le serveur ne démarre plus. Une idée ? Merci par avance.
  13. tout a l'air ok au niveau de la requête et de ce qui est retourné. Le pb est plus bas. - variable mal othographié ? - pb dans la boucle ? - autres...
  14. ça me surprend ! Nous avons eu des pbde fraude à la CB et nous portions régulièrement plainte à la gendarmerie dont nous dépendions. Il faut aller voir avec la gendarmerie ou le commissariat dont tu dépend. Aux dernières nouvelles ce sont eux qui enregistrent les plaintes. La gendramerie qui s'occupait de notre dossier était vraiment nickel. Nous avions un seul interlocuteur qui suivait tout nos dossiers. On le voyait régulièrement, il venait récupérer les ip, etc, etc... On a eu la chance de tomber sur une gendarmerie vraiment bien. Si en face ton interlocuteur il pipe rien à internet, ça va pas être facile
  15. Pour ça il faut te mettre en relation avec l'avocat qui t'a contacté, et voir avec lui. pas moi, désolé.
  16. donc tu n'utilises pas le nomp de domaine puisque tu rederige. Céde... et file lui son nom. Imaginons que tu ne risques absolument rien, tu serais prêt à prendre le risque d'un procés long et coûteux.
  17. Passe en mode debug bourrin : met des var_dump() partout pour voir <?php mysql_select_db($database_conn_coll_gest, $conn_coll_gest); $query_Recordset = "SELECT * FROM coll_printer_commande WHERE print_date BETWEEN '$recherchedebut' AND '$recherchefin'"; var_dump($query_Recordset); $Recordset = mysql_query($query_Recordset, $conn_coll_gest) or die(mysql_error()); var_dump($Recordset); $row_Recordset = mysql_fetch_assoc($Recordset); var_dump($row_Recordset); $totalRows_Recordset = mysql_num_rows($Recordset); var_dump($totalRows_Recordset); ?>
  18. pour mySQL tes choix sont bons tu as aussi mysql workbench
  19. _AT_xpatval & _AT_LiL'SkiSo : pour éviter ce pb rien ne vaut un bon IDE
  20. LicenSes et LicenCes... faute de frappe ?
  21. Ces mecs sont absolument géniaux et jamais à cours d'idée. Je suis en admiration devant tant d'intelligence, d'innovation, et d'imagination. Imaginez : - à chaque fin de moi sur la facture de votre FAI : TEM ( Taxe sur Les Emails Envoyés ) : 0,23 € TVA ( 19,6 ° ) : Evidemment, s'ils sont intelligents, ils feront comme la TIPP, et on payera la TVA sur la taxe. Il faudrat qu'un jour la recherche fondamentale se penche sur la co...... humaine. Le jour où un chercheur arrivera à transformer la co...... humaine en énergie tout nos problèmes de pétrole et de nucléaire sont résolu. <edit>On évite le montrage du doigt et la polémique ! Merci</edit>
  22. Merci, je viens d'apprendre deux truc : - limite de temps dans l'édition d'un post - possibilité d'avoir un blog sur le Hub. Sympa cette option L'idée initiale du post reste inchangée. J'attend vos retours d'expérience pour compléter la liste des ressources Ajax. Je m'en vais voir de ce pas l'option blog
  23. Si je devais faire un truc de ce style : 1. Je chercherai à savoir s'il existe des parser SQL : Parser SQL. Le premier résultat est un parser en Perl. Je ne sais pas s'il y en a en Php 2. Une fois que ta requête est parsée et que tu as tes champs et tes table. Tu veux savoir à quelle table appartient tel champ. Je ne sais pas s'il existe un langage générique de requêtage d'un serveur SGBD. Généralement, tu connais la structure des tables systèmes de ton SGBD, et tu fait des requêtes spécifiques sur ces tables. Tu retombe dans des syntaxes qui seront dépendantes de ton SGBD. Les tables systèmes de mySQL sont différentes de postGresql qui sont différentes de MSSQL qui sont différentes d'Oracle .... C'est ce genre de parser que tu cherche. Mais celui-là est en java : http://www.experlog.com/gibello/zql/ En Php tu as ça, mais il a pas l'air très actif : http://sourceforge.net/projects/osqlp/
  24. Tu aurais un SELECT du style : SELECT field1, field2, field3 FROM foo f LEFT OUTER JOIN bar b on f.id = b.id_foo WHERE f.id > 45 ORDER BY field1 desc tu voudrais que ton script te retourne : - field1, field2, field 3 : pour les champs - foo, bar : pour les tables C'est ça ?
×
×
  • Créer...