SQL - Insérer emails dans newsletter

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : SQL - Insérer emails dans newsletter

par Sékiltoyai » 21 janv. 2008, 11:28

Tu peux voir du côté des fonctions file() et mysql_query(), et éventuellement à chaque ligne du tableau rendu par file(), exécuter une requète, mais c'est très lourd pour la connexion sql.

Donc le mieux serait de faire une seule requète pour tous les mails, et de créer une requète de cette forme :

Code : Tout sélectionner

INSERT INTO table VALUES(…, [email protected],…),(…, [email protected],…),(…, [email protected],…);
C'est à dire que tu construis tes (…, [email protected],…) comme une requète INSERT classique, sauf que tu les concatènes avec des , .

On peut donc imaginer un algorithme de ce style :
$lines = file(...);
$inserts = array();
for($i=0; $i<count($lines); $i++)
{
    $inserts[] = '(...,' . $lines[0] . ', ...)';
}
mysql_query('INSERT INTO table VALUES' . implode(',', $inserts) . ';');
Il n'y a plus qu'à boucher les trous. Si tu as un problème avec une fonction, regarde avant tout sa documentation sur le manuel de php.net.

par Bad_trips » 21 janv. 2008, 10:09

Bonjour,
pourquoi ne pas créer un tableau qui se remplit de tes adresses mail et ensuite en incrémentant ce tableau tu exécute ta requete SQL. C'est une petite idée après pour t'en dir plus je suis expert ni en sql ni en php, mais je pense que c'est comme ca qu'il faut procéder.

par Magdalena » 21 janv. 2008, 09:53

personne pour m'aider?

j'utilise MySQL
est ce que quelqu'un saurait comment ajouter toutes mes adresses emails qui sont dans un fichier texte en dupiquant à l'exacte toutes les autres commandes?

merci pour votre aide, je suis bloquée ....
Magdalena

par magdalena1 » 15 janv. 2008, 16:11

merci c'est exactement ce que j'avais l'intention de faire, mais je ne sais pas comment

voila, j'ai deux fichiers: d'un coté une liste de 20 000 adresses emails les unes à la suite des autres dans un fichier texte. Ce fichier ressemble a cela
test@email1
test@email2
test@email3
etc....
jusqu'a
test@email20000

de l'autre une base de donnée sql
avec cette ligne

INSERT INTO `dc_newsletter` VALUES (53, '', 'test@email1', 'ok', '2008-01-14 21:04:18', '0000-00-00 00:00:00', 'gxUQ');

Il faut jusque que j'exécute cette commande dans sql en changeant le test@email1

probleme: si il n'y avait que 10 mail je pourrais le faire à la main or il y en a 20000 !!!

ma question: comment puis je automatiser cela? je ne trouve pas

merci pour vos idées car j'ai beau chercher je tourne en rond
Magdalena

par zigz4g » 14 janv. 2008, 14:30

Salut.

Tu peux essayer de générer un fichier texte de tes anciennes adresses mail contenu dans ton ancienne newsletter. Tu met une adresse par ligne.
Ensuite tu peux faire un autre script qui ira inserer les adresses mails du fichier dans la base de données de ta nouvelle newsletter.

La, je suppose beaucoup de chose car j'ai rien compris à ta demande. Faudrait nous dire ce que tu entends par ancienne et nouvelle newsletter. Pour moi tu parle de tes bases de données.

SQL - Insérer emails dans newsletter

par Magdalena » 14 janv. 2008, 09:17

Bonjour

j'utilise une nouvelle newsletter, j'ai besoin d'importer dedans un grand nombre d'adresse email or le script de ma newsletter n'accepte pas l'import. Je suis donc obligé d'aller tout seul dans la base de données, mais je ne sais pas quoi faire

est il possible que je copie toute mes adresses dans un ficiher txt et que je l'importe? Si oui sous quelle forme et comment faire

merci pour votre aide
Magdalena

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]