10. februar 2009 - 13:36Der er
20 kommentarer og 1 løsning
PHP mailto klik til alle e-mail fra databasen. Mailto med loop...
Hej,
Jeg er ved at lave en mulighed for at kunne maile med et klik til alle medlemmer i en database. Dvs. at mailto funktionen kobles sammen med en loop. Dog vil den bare ikke virke... Jeg har prøvet en hel del forskelligt, men nu er jeg løbet mod en mur.
Problemet er, at loopen sætter kommaet, der skal adskille adresserne foran den første e-mail adresse og det gør at klik funktionen ikke virker. ØV :cry:
Har nogen prøvet det og kan hjælpe mig videre?
mysql_select_db($database_dbh, $dbh); $query_mail = "SELECT DISTINCT email FROM medlemmer WHERE email != '0'"; $mail = mysql_query($query_mail, $dbh) or die(mysql_error()); $row_mail = mysql_fetch_assoc($mail); $totalRows_mail = mysql_num_rows($mail);
<a href="mailto:<?php do { ?><?php echo $row_mail['email'] . ', '; ?><?php } while ($row_mail = mysql_fetch_assoc($mail)); ?>"><img src="ikoner/ikoner_mail.jpg" alt="Klik for at sende mail til alle.." width="31" height="25"></a>
Håber nogen derude kan og vil hjælpe mig videre.. ;-)
Dog desværre, det vil den ikke, der kommer ingen e-mail adresser frem. Den åbner mailprogrammet men "to:" feltet er tomt..
Har jeg glemt noget?
<?php $emails = array(); while ($row_mail = mysql_fetch_assoc($mail)) {$emails[] = $row_mail['email'];}?> <a href="mailto:<?php implode(',',$emails); ?>"><img src="ikoner/ikoner_mail.jpg" alt="Klik for at sende mail til alle.." width="31" height="25"></a>
<?php $emails = array(); while ($row_mail = mysql_fetch_assoc($mail)) {$emails[] = $row_mail['email'];}var_dump($emails);?> <a href="mailto:<?php implode(',',$emails); ?>"><img src="ikoner/ikoner_mail.jpg" alt="Klik for at sende mail til alle.." width="31" height="25"></a>
Kan det være, at den mangler et eller andet echo kommando, der fortæller det til html delen?
Hmmmm, nu fik jeg den til at have alle adresser inde i mailto funktionen.. :o)) Den kunne bare skrives i en variabel, som man senere sætter en echo kommando på.
MEN den virker alligevel ikke, når man klikker på linket, så sker der ikke en dyt..
koden ser sådan ud: <?php $emails = array(); while ($row_mail = mysql_fetch_assoc($mail)) {$emails[] = $row_mail['email'];}?><?php $alleadresser = implode(', ',$emails); ?> <a href="mailto: <?php echo $alleadresser; ?>"><img src="ikoner/ikoner_mail.jpg" alt="Klik for at sende mail til alle.." width="31" height="25"></a>
Kildekoden ser sådan ud: <a href="mailto: mail@email.dk, mail@email.dk, mail@email.dk, mail@email.dk, mail@email.dk, mail@email.dk, mail@email.dk, mail@email.dk, mail@email.dk, mail@email.dk, mail@email.dk, mail@email.dk, mail@email.dk, mail@email.dk, mail@email.dk, "/ ><img src="ikoner/ikoner_mail.jpg" alt="Klik for at sende mail til alle.." width="31" height="25"></a> </td>
ÅHHH... Ja, selvfølgelig skulle der være en echo... hvordan kunne jeg overse det?
Jeg forstår ikke hvordan din html kommer til at se sådan ud. Der burde ikke være et , efter sidste adresse og der burde slet ikke være en / mellem " og >. Jeg må give fortabt på den del.
Du kan sagtens lægge implode tilbage i a href="" delen blot med en echo før den.
Næ, det er bestemt ingen dumt spørgsmål. Men ja, det åbner ellers fint. Det åbner endda, når jeg kun har en space i istedet for en mail eller webadresse.
Jo, det er godt muligt, det kan jeg bare desværre ikke teste. Kan det måske være at a href mailto: kun har et bestemt antal mails, som det kan håndtere som html funktion?
Men jeg synes alligevel at du skulle få dine points, for du har hjulpet mig et godt stykke videre. Det kræver bare at du klikker på svar næste gang du skriver.. ;o)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.