JeuWeb - Crée ton jeu par navigateur
Help me ! Séléction de données dans SQL... - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Help me ! Séléction de données dans SQL... (/showthread.php?tid=228)



Help me ! Séléction de données dans SQL... - NehutoX - 19-09-2006

Bonjour à tous, j'ai un petit problème dans un de mes scripts : c'est uen newsletter pour mon site.

Donc j'ai une table avec 2 champs : email et newsletter (email comprte les emails et newsletter la newsletter à envoyer à tous les inscrits).

Voici maintenant le script qui récupère les emails pour leur envoyer la newsletter :

Code :
//connexion à la base
$db = mysql_connect("$serveur_bd","$identifiant_bd","$pass_bd") or die ('erreur de connexion');

//sélection de la base
mysql_select_db("$bd_bd",$db);

//création de la requette sql
$sql = 'SELECT * FROM cmr_newsletter';

//envoi de la requette sql
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$data = mysql_fetch_assoc($req);

$newsletter = $data['newsletter'];
$emails = $data['emails'];

Le problème c'est que quand j'affiche la variable $emails il n'y a qu'une entrée alros que ma table en compte 3... Si quelqu'un as une solution... Merci d'avance !


RE: Help me ! Séléction de données dans SQL... - joshua - 19-09-2006

peux tu creer un compte test/test sur ton jeu que les gens puissent s'y promener?


RE: Help me ! Séléction de données dans SQL... - NehutoX - 19-09-2006

L'inconvégnent, c'est que je fais la newsletter avant les comptes etc... donc on peut pas encore s'y promener désolé...


RE: Help me ! Séléction de données dans SQL... - comode - 19-09-2006

Hmmmhmmmmmm

Tu as visiblement un gros problème de structure de base de données !

Tes newsletter et tes emails de destination doivent être dans des tables séparés !

email(
int(11) id_email autoincrement = 1,
varchar(255) adresse_mail,
varchar(32) nom_destinataire
)

newsletter
( int(11) id_letter autoincrement = 1,
TEXT sujet_letter,
TEXT texte_letter
)

Ensuite, pour envoyer une newsletter a tous tes contacts mails :

Code :
function mail($email_dest, $sujet, $corps)
{
   // on considere ceci comme ta fonction pour envoyer les mail
}

$req = mysql_query('selecr sujet_letter, texte_letter from newsletter where id_letter = '.$id_de_la_lettre_a_envoyer.' limit 1');
$lettre = mysql_fetch_array($req);

$req = mysql_query('select * from email');
while($mail = mysql_fetch_array($req))
{
      mail($mail['adresse_mail'], $lettre[0], $lettre[1]);
}

Bref, pour répondre a ta question initiale, tu dois avoir mysql_fetch_array() dans une boucle while qui va parcourir chaque enregistrement renvoyé par ta requete !


RE: Help me ! Séléction de données dans SQL... - NehutoX - 19-09-2006

Merci beaucoup, je vais essayer ça, je vous tien au courant !


RE: Help me ! Séléction de données dans SQL... - ddlink - 19-09-2006

ce que a dis comode est juste
ca marchera Wink