Send mail til alle brugere på en gang.

Tags:    php

<< < 12 > >>
Hvilken metode kan man bruge for at sende en besked til alle brugerne på min side?

F.eks en statusopdatering, som alle brugerne skal have på samme tid i deres indbakke på min side



16 svar postet i denne tråd vises herunder
4 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Der plejer jeg bare at bruge en hvor til er alle, også selecter jeg fra min db, hvor mine breve er, og hvis der er et brev der er til alle, så udskriver jeg det.



<?php
$afsender = "Administrator"; //Afsenderen?
$dato = date(d:m:y); //Dag:Måned:År
$besked = $_POST['nl_besked']; //Sæt til din post form

$query = mysql_query("SELECT * FROM brugere ORDER BY id") //Beder den hente ALT fra alle brugere!

while($row = mysql_fetch_array($query)) {
//Nu skal vi så indsætte hvad der skal ske for hver bruger.

//Vi indsætter informationerne i tabellen BREVE

mysql_query("INSERT INTO breve (id, til, fra, dato, besked)
VALUES ('', $row['brugernavn'], $afsender, $dato, $besked)");


}

?>


Hvad den gør, er at bede om alle informationer om brugeren, og i en While lykke, sender den så til samptlige brugere der er i mysql databasen, håber selv du kan rette den til dine informationer. ellers så spørg.



Hej Simon.

Her er en lidt advanceret udgave, den er ikke testet da jeg ikke ved hvordan din database ser ud men her er et eksempel til hvordan man kan lave det, hvis du har problemer med at følge koden så må du lige smide en besked :)

Denne kode er nok den bedste jeg lige kan trylle frem på 2 min til at finde alle dine brugere og lave en insert i din mail database.

Fold kodeboks ind/udPHP kode 




Indlæg senest redigeret d. 05.06.2009 00:14 af Bruger #4302
Hej du.

Du skal først hente alle mailadresserne i db f.eks i en mySQL DB:

function til brug for tilgang til DB:

function executeSQL($strSQL)
{

$link = mysql_connect("server", "login", "password"); //forbindelse til host

if(!$link)
{
echo "Forbindelsen til host blev ikke oprettet<br>"; //fejlmeddelelse
}

$result = mysql_select_db("DB_navn", $link); //forbindelse til database

if(!$result)
{
echo "Forbindelsen til databasen blev ikke oprettet<br>";
}

$kommandodata = mysql_query($strSQL);

if(!$kommandodata)
{
return false;
}

else {
return $kommandodata;
}

mysql_close($link);

$strSQL="SELECT email FROM tabellensnavn WHERE datobetalt > '$deadline' ;

$resultat = executeSQL($strSQL);

while($data = mysql_fetch_row($resultat))
{ $mailbody = "Hej !\n\n";

$text="Her er noget tekst";
$mailbody .= "$text\n\n\n";
$mailbody .= "Venlig ...\n\n";

if(mail("$data[0]", "$subjekt", "$mailbody", "From: info@mail.dk\r\nReply-to: info@mail.dk" ))
{echo " - ja<br>";}
else {echo " - nej<br>";}



Altså et internt post system eller til deres E-mail addresse?



Internt :)



Håber du forstår



Bare sig
SELECT * i din while, og be den om at inserte.



Kan du give et eksempel, er ikke helt med :)

Forstår godt hvad du mener med, at indsætte i database, men ikke lige hvordan det skal kunne fungerer :)



F.eks.

$hent = mysql_query("SELECT * FROM breve WHERE til = 'alle'")

while($row = mysql_fetch_array($hent)) {
//Udskriv hentet indhold
}



<< < 12 > >>
t