IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Requête complexe pour envoyer des newsletters en c#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2010
    Messages : 18
    Par défaut Requête complexe pour envoyer des newsletters en c#
    Bonjour tout le monde,
    Cela fais plus d'une semaine que je tourne en rond, si quelqu'un peut m'aider, merci par avance

    voila, c'est l'envoi de newsletter html via c# (BDD SQL 2005)

    au départ notre équipe crée une News en spécifiant les catégories de cette news (sorte de keywords déjà stocké dans notre BDD)
    ensuite, les abonnés lors de l'inscription choisissent les catégories qui les intéressent
    et c'est au système maintenant d'envoyer a chaque abonné la ou les News qui l'intéressent.


    partant d'une base qui contient 5 tables pour simplifier:
    - Table Client (Client_ID, Client_Email)
    - Table News (News_ID, Titre_News)
    - Table Categorie (Categorie_ID, Categorie_Name)
    - Table Relationnelle Client_Categories (RMC_ID, Categories_ID, Client_ID)
    - Table Relationnelle News_Categories (RNC_ID, Categories_ID, News_ID)


    ---------------------------------------------------------------------
    remplissant les tables par des exemples :
    - Table Client
    1, mail1@gmail.com
    2, mail2@gmail.com

    - Table News
    1, ma première news
    2, ma deuxième news
    3, ma troisième news

    - Table categorie
    1, Audi
    2, Ford
    3, Nissan

    - Table Relationnelle Client_Categories
    1, 1, 2
    2, 1, 3
    3, 2, 1
    4, 2, 2

    - Table relationnelle News_Categories
    1, 1, 1
    2, 1, 3
    3, 2, 1
    4, 3, 2
    4, 3, 1
    ---------------------------------------------------------------------

    Maintenant le résultat souhaité, c'est de n'envoyer qu'un seul mail au client qui contient la ou les news qui l'intéressent

    donc pour le premier client (mail1@gmail.com) souhaite recevoir les news appartenant aux catégories 2 et 3, donc il va recevoir la 1ere et la 3eme news.
    ==> un mail en html contenant 2 paragraphes
    le 2eme client (mail2@gmail.com) souhaite recevoir les news appartenant aux catégories 1 et 2, donc il va recevoir la la 1ere, la 2eme et la 3eme news.
    ==> un mail en html contenant 3 paragraphes

    A noter que les news peuvent aller jusqu'à 50 news
    et que les clients selon les catégories peuvent atteindre 2000-3000 personnes.


    !! DES IDEES SVP !!

  2. #2
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    Ce n'est pas très clair, en tout cas si tu cherches la requête pour récupérer les News du client qui a l'ID 145 par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select News.*
    FROM Client_Categories
    JOIN News_Categories  ON News_Categories.Categories_ID=Client_Categories.Categories_ID
    JOIN News  ON News.News_ID=News_Categories.News_ID
    WHERE Client_Categories.Client_ID=145

  3. #3
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2010
    Messages : 18
    Par défaut
    Bonjour,
    merci pour ta réponse l'ami, mais ce n'est pas ce que je cherche, trouver la liste c'est facile

    ce que je veux c'est comment procéder pour envoyer a chaque client sa ou ses news !?
    est-ce que je procède pas a pas, c'est a dire, aller chercher le premier client, ouvrir un fichier html provisoire, et aller chercher les news (si categories_news = categories_client) et l'affecter au fichier html,, et repartir pour une nouvelle catégorie....
    envoyer la newsletter et boucler pour prendre le 2eme client !!!

    mais c'est fastidieux, imaginez 500 catégories a parcourir, et 3000 fois boucler sur les clients !!! c'est impossible

    si vous avez une idée

  4. #4
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    Citation Envoyé par amednagh Voir le message
    mais c'est fastidieux, imaginez 500 catégories a parcourir, et 3000 fois boucler sur les clients !!! c'est impossible
    pourtant tu es obligé de parcourir ces listes,

    et tu ne peux pas tout charger (les categories, les news et les clients), après tu filtres par code?, ça t'évitera de passer une requete complexe par client afin de récupérer ses news, 3 ou 4 requetes et tu filitres apres par code, au lieu de passer une requete par client.

    tu envoies le résultat à leurs boites mail?
    sinon il y a le format RSS, tu peux par exemple charger les données à la demande du client

  5. #5
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juin 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2010
    Messages : 18
    Par défaut
    Merci pour ta réponse,
    je ne sais pas trop, l'entreprise utilise le vieux asp avec une fonction vb special pour cela, mais cela prenais presque 15mn pour l'envoi des newsletters.
    et maintenant ils veulent passer a asp.net/c# donc je ne sais pas trop quoi faire.
    sinon pour le système RSS il existe déjà mais ce n'est pas ce qu'on veut faire.
    juste a ton avis, est-ce que je dois faire 2 requêtes qui me rendent 2 tableaux et faire la combinaison par la suite, style
    tableau 1 : mails| categories
    tableau 2 : news | categories

    mais par la suite, est-ce que je prend chaque mail et aller boucler sur les news ou l'inverse !!

  6. #6
    Membre émérite Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Par défaut
    moi ce que je ferais, c'est reprendre la requete que je t'ai passée, sans le critere sur le client ID, tu utilise un DataSet par exemple qui vas contenir les données.

    ensuite tu fais un SELECT DISTINCT des clients ( soit par requête soit par filtre sur le DataSet en utilisant un DataView et la propriété ToTable avec le paramètre DISTINCT à true si je me rappelle bien)

    tu parcours ton DataSet en utilisant un filtre sur le client ID, et pour chaque client tu as ses news sans interrogé le serveur de BDD, tout cela en utilisant une voir deux requêtes en tout. à moins que tu as bcp de données et que tu n'as pas envi de tout chargé d'un coup. tu es en frameWork 2.0 ou 3.5?

Discussions similaires

  1. Creer une requéte access pour choisir des textes word
    Par mariekero dans le forum Access
    Réponses: 1
    Dernier message: 16/01/2006, 10h25
  2. Réponses: 4
    Dernier message: 28/03/2005, 19h42
  3. Utiliser hylafax pour envoyer des fax
    Par ggnore dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 08/07/2004, 21h57
  4. configurer sql pour envoyer des mails
    Par arwen dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 29/07/2003, 15h28
  5. Script pour envoyer des info a mysql
    Par rhum1 dans le forum Linux
    Réponses: 6
    Dernier message: 15/04/2003, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo