Generera ett email från tabell PHP + MySQL

Permalänk
Medlem

Generera ett email från tabell PHP + MySQL

Jag håller på och skapar en liten sida där man kan skriva in information under dagen, som sedan vid en bestämd tidpunkt varje dag skickar ut det som finns i en tabell.

Jag har lyckats skapa ett litet script som kan göra detta, har även gjort färdig en sida där man lägger in information, och har skapat php kod som genererar det som finns i tabellen, direkt i webbläsaren.

Denna information vill jag skicka till en emailadress så att varje tabellrad blir en rad i e-mail meddelandet.

Jag är inte ens säker på hur jag löser problemet.
Använder mig av följande kod, och mitt problem ligger under "message". ?
Jag har nämligen en while sats som genererar informationen.
Hur får jag in satsen under "message".

$to = 'nobody@example.com'; $subject = 'the subject'; $message = 'hello'; $headers = 'From: webmaster@example.com' . "\r\n" . 'Reply-To: webmaster@example.com' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); mail($to, $subject, $message, $headers);

While satsen:

while ($row = mysqli_fetch_array($result)){ $namn = $row['namn']; $bil = $row['bil']; echo $namn . ' har en '; echo $bil. '<br />';

Permalänk
Medlem
Skrivet av Ghosty:

While satsen:

while ($row = mysqli_fetch_array($result)){ $namn = $row['namn']; $bil = $row['bil']; echo $namn . ' har en '; echo $bil. '<br />';

while ($row = mysqli_fetch_array($result)){ $namn = $row['namn']; $bil = $row['bil']; $message .= $namn . ' har en '; $message .= $bil. '<br />';

Eller har jag missuppfattat vad du är ute efter?

Visa signatur

- Åldern har tagit ut sig i form av bekvämlighet -
------- Playstation 4/5 - Nintendo Switch -------

Permalänk
Medlem
Skrivet av Electrix:

Eller har jag missuppfattat vad du är ute efter?

Jag testade detta och fick inte det att fungera riktigt,
det jag är ute efter är att istället för att "skicka ut" ett, låt oss säga nyhetsbrev, så vill jag istället göra omvänt, jag vill ta emot de personer som finns i databasen.

Det jag är ute efter är egentligen samma sak som att 5 personer gör en beställning en godtycklig webbutik.

Denna beställning ligger i databasen (person 1 har beställt vara A, person 2 har beställt vara b).
Vid en viss tid på dygnet, så skickas det ett e-mail till person 3 innehållande person 1 och 2s beställningar.

Jag har fixat så att man kan göra beställningar, har även fixat scriptet som körs vid en viss tid på dygnet, och jag har lyckats att skicka e-mail varje gång någon av personerna fyller i formuläret.

Man vill ju slippa få e-mail för varje enskild beställning, utan hellre vill få 5 beställningar i ett och samma email. Denna funktion lyckas jag inte med.

Permalänk
Medlem

<?php $from = 'mail@mail.se'; $subject = $_POST['subject']; $text = $_POST['mail']; $dbc = mysqli_connect('localhost', 'användare', 'lösenord', 'test') or die('Error connectig to Mysql Server'); $query = "SELECT * FROM email_list"; $result = mysqli_query($dbc, $query) or die('Error querying database.'); while ($row = mysqli_fetch_array($result)){ $to = $row['email']; $first_name = $row['first_name']; $last_name = $row['last_name']; $msg = "Dear $first_name $last_name,\n$text"; mail($to, $subject, $msg, 'From:' . $from); echo 'Email sent to: ' . $to . '<br />'; }

Här är ett script som hämtar mailadresser ur en databas, förnamn och efternamn, och skickar ut ett meddelande till varje adress som finns i databasen. Dock så skriver man själva meddelandet via ett formulär. Själv vill jag istället skicka allt från en databas till en email adress, på något sätt måste jag göra om koden, men det lyckas jag inte med, blir bara fel.

EDIT:

Nu har jag lyckats att få iväg sista raden i första kolumnen som finns i databasen, med while satsen. På något sätt måste jag kunna "mellanlagra" de värden jag får ut ur while satsen för att sedan när det är klart skicka iväg dessa, ingen som vet hur det praktiskt skall gå till ?