osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Base de données différente quand inscription newsletter, comment faire ?
loulou1976
posté 18 Jul 2011, 08:28
Message #1


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 195
Inscrit : 26-June 10
Membre no 27742



Bonjour,

J'ai cherché sur le forum mais je pense que je ne dois pas mettre les bons mots clés.
Je pense que c'est déjà un sujet traité.
J'ai une base de donnée A pour l'ensemble du site mais j'ai une base de données B que j'utilise pour lancer mes newsletters (base de données avec tables format wanesletters pour ceux qui connaissent).
Je voudrais que quand quelqu'un s'inscrivent à la newsletter, j'alimente ma base B et non ma base A.
Comment et quels fichiers faut-il que je touche pour faire ça ?

Bonne journée,
Loulou mellow.gif
Go to the top of the page
 
chti_poupon
posté 18 Jul 2011, 13:54
Message #2


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour
Je ne vois pas bien chercher si le client, quand il commande, si ses cordonnées sont en A ou en B.
J'écrirais plutôt une fonction pour remplir et expurger B à partir de A du style auto activate et auto expire banners qui se trouve dans application_top.
A mettre, bien sûr, là où le client peut s'inscrire/désinscrire (account au moins)
Chti poupon
Go to the top of the page
 
loulou1976
posté 18 Jul 2011, 19:42
Message #3


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 195
Inscrit : 26-June 10
Membre no 27742



Bonsoir chti_poupon

Toutes ces coordonnées sont en A.
J'avais pensé tout casser newsletters_subscribe.php en faisant :
Code
$link=mysql_connect($host_mysql,$user_mysql,$pass_mysql);
  mysql_select_db($bd_mysql); ... etc


Tu as surement raison il suffit peut être de copier suscribers de la base A vers ma table abonné de la base B.
C'est bien ça ton idée ?

Bonne soirée,
Loulou
Go to the top of the page
 
chti_poupon
posté 18 Jul 2011, 21:19
Message #4


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Oui, à chaque fois qu'un client crée ou modifie son inscription, la base B est complétée ou diminuée selon le cas.
  1. Le plus simple semble être de recopier TOUS les clients d'accord après avoir effacé la base B précédente l
  2. Sinon, il faut
    • soit ajouter celui qui s'inscrit s'il n'y est pas déjà (sinon, bonjour les doublons)
    • soit retrancher celui qui se désinscrit, s'il y était effectivement (sinon, bonjour les ennuis)
Go to the top of the page
 
loulou1976
posté 22 Jul 2011, 08:55
Message #5


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 195
Inscrit : 26-June 10
Membre no 27742



Bonjour,

Je suis en train de travailler sur l'option 2 à savoir rajouter au fur et à mesure dans la base B quand les clients ou visiteurs s'inscrivent ou se désinscrivent au fur et à mesure dans la base A.
Pour cela, je suis en train de toucher à l'écran newsletters_subscribe.php.
Je ne comprends pas tout à fait ce code :

Code
  $subscribers_info = tep_db_query("select subscribers_id from " . TABLE_SUBSCRIBERS . " where subscribers_email_address = '" . $HTTP_POST_VARS['Email'] . "' ");
    $date_now = date('Ymd');

  if (!tep_db_num_rows($subscribers_info)) {
   $gender = '';
    //tep_db_query("insert into " . TABLE_SUBSCRIBERS . " (subscribers_email_address, subscribers_lastname, language, subscribers_email_type, date_account_created, customers_newsletter,  subscribers_blacklist, hardiness_zone, status_sent1,  source_import) values ('" . strtolower($HTTP_POST_VARS['Email']) . "',  '" . ucwords(strtolower($HTTP_POST_VARS['lastname'])) . "',  'English',  '" . $HTTP_POST_VARS['email_type'] . "',  now() ,  '1',  '0', '" . $domain4 . "', '1', 'subscribe_newsletter')");
    tep_db_query("insert into " . TABLE_SUBSCRIBERS . " (subscribers_email_address, subscribers_lastname, language, subscribers_email_type, date_account_created, customers_newsletter,  subscribers_blacklist, hardiness_zone, status_sent1,  source_import) values ('" . strtolower($HTTP_POST_VARS['Email']) . "',  '" . ucwords(strtolower($HTTP_POST_VARS['lastname'])) . "','$language',  '" . $HTTP_POST_VARS['email_type'] . "',  now() ,  '1',  '0', '" . $domain4 . "', '1', 'subscribe_newsletter')");
   } else {
    tep_db_query("update " . TABLE_SUBSCRIBERS . " set customers_newsletter = '" . '1' . "', subscribers_email_type = '" . $HTTP_POST_VARS['email_type'] . "'  where subscribers_email_address  = '" . $HTTP_POST_VARS['Email'] . "' ");
   }


Si je ne me trompe pas, un visiteur peut très bien passé par cet écran mais un client aussi non ?
Il n'est pas obligé de passer par son compte pour s'inscrire à la newsletter après avoir refusé lors de son inscription en tant que client la 1ere fois ?
C'est clair ce que je dis ???
J'aurais donc rajouter la notion de savoir également si l'adresse rentrée appartient à un client dans un premier temps et si oui de mettre le champs customers_newsletter à 1.

Qu'en pensez-vous ? Ma démarche est-elle inutile ?

Loulou



Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 28th March 2024 - 09:41
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)