Avatar billede akki Nybegynder
03. december 2004 - 11:07 Der er 16 kommentarer

Få mit script til at sende en mail, med indhold fra database

Vil gerne havde lavet et script som når man trykker på en knap, sender en mail med indholdet af et udtræk fra en database..

Vil gerne havde at resultatet (dataerne som bliver udtrykket)af dette sql/php script bliver sendt til en email adresse, feks xxx@xxx.dk når man trykker på ok.

Vil gerne havde at der er et felt hvor email adressen bliver skrevet ind, og derefter trykker man på ok, og listen bliver sendt.

her er min php/sql script.

<?
include("db.php");
$color1 = "#E7E7E7";
$color2 = "#F7F7F7";
$whichcolor = 0;
if (!isset($id))
    { //exit;
    }
   
$foresp = mysql_query("SELECT servernavn, racknr, room, U, s.id FROM server s, room r, rack a WHERE s.rackid=a.id AND s.roomid=r.id AND a.roomid=r.id AND s.roomid=a.roomid AND r.id LIKE '$id' ORDER BY servernavn ");
while($data =mysql_fetch_array($foresp))
  {
  if ($data[4] == 'hjemme'){ $farve="#00ff00"; }else {$farve="#FF0000";}


    print "  <table width=510 border=0>";
    if ($whichcolor == 0) { $color = $color1; $whichcolor = 1 ; }
    else { $color = $color2; $whichcolor = 0; }
    print "
    <TR bgcolor=$color>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=150>$data[0]</TD>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=100>$data[1]</TD>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=100>$data[2]</TD>
    <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=80>$data[3]</TD>
            <TD style=BORDER-BOTTOM: #f0f0f0 1px solid width=100 align=center> <a href=update.php?id=$data[4] class=image><img src=index-filer/ret.png border=0 alt='Tryk her for at rette'></a> &nbsp; <a href=\"#\" onClick=\"sikker('update_ok.php?slet=1&id=$data[4]')\" class=image> <img src=index-filer/slet.png border=0 alt='Tryk her for at slette'></a> &nbsp; <a href=info.php?id=$data[4]  class=image><img src=index-filer/icon_info.gif border=0></a></TD>
    </TD>
      </TR>
    ";
  }
?>
Avatar billede Slettet bruger
03. december 2004 - 11:13 #1
Prøv at kigge på mail funktionen i PHP.
http://dk2.php.net/manual/en/function.mail.php

Det skulle gerne hjælpe dig videre...
Avatar billede akki Nybegynder
03. december 2004 - 11:19 #2
selve mail funktionen har jeg leget med..

Men det er det med at få hele udtrækket med i mailen, som jeg ikke er sikker på.

der kan være op til 400 gentagelser af denne while løkke. Hvordan ville du / i bygge det op..
Avatar billede morteeart Nybegynder
03. december 2004 - 11:24 #3
ja, et while loop

Men bruger BCC og send én mail() , istedet for 1000 * mail();

der står mere på linket gartzen gav dig.
Avatar billede akki Nybegynder
03. december 2004 - 11:28 #4
skal jeg lave en while loop som sådan
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
  <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
  <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
  <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

dog skal der i løkken værer mit sql udtræk, og dens while løkke????
Avatar billede akki Nybegynder
03. december 2004 - 11:35 #5
hvordan vil i lave den..

har lavet den sådan, men den virker selvfølgelig ikke...

<?
/* recipients */
$to  = "mlj@cortexconsult.dk" . ", " ; // note the comma
$to .= "mlj@cortexconsult.dk";

/* subject */
$subject = "test";



/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* additional headers */
$headers .= "To: test <mlj@cortexconsult.dk>";
include("db.php");
$color1 = "#E7E7E7";
$color2 = "#F7F7F7";
$whichcolor = 0;
print"<font size=2 face=Verdana, Arial, Helvetica, sans-serif> Søgningen på <b>$tekst_soeg</b> gav følgene resultater:<br> <br>";
$foresp = mysql_query("SELECT servernavn, racknr, room, U, s.id FROM server s, room r, rack a WHERE s.rackid=a.id AND s.roomid=r.id AND a.roomid=r.id AND s.roomid=a.roomid AND servernavn LIKE 'ludk%' ORDER BY servernavn ");

while($data =mysql_fetch_array($foresp))
  {
  if ($data[4] == 'hjemme'){ $farve="#00ff00"; }else {$farve="#FF0000";}

/* message */
$message =


    print "  <table width=600 border=0>";
    if ($whichcolor == 0) { $color = $color1; $whichcolor = 1 ; }
    else { $color = $color2; $whichcolor = 0; }
    print "<tr bgcolor=$color>
    <td width=125 ><font size=1 face=Verdana, Arial, Helvetica, sans-serif>$data[0]</font></td>
  <td width=125><font size=1 face=Verdana, Arial, Helvetica, sans-serif>$data[1]</font></div></td>
  <td width=125> <font size=1 face=Verdana, Arial, Helvetica, sans-serif>$data[2]</font></div></td>
  <td width=125> <font size=1 face=Verdana, Arial, Helvetica, sans-serif>$data[3]</font></div></td>
<td width=100><form name=form method=post action=update.php >
    <input type=hidden name=id value=$data[4]>
    <input type=submit name=slet class=bog value=DEL>
        <input type=submit name=ret  class=bog value=RET>
    </form></td>
  </tr>
  </table>";
  ;
  }
 
/* and now mail it */
mail($to, $subject, $message, $headers);

?>
<P>
Avatar billede schaefner Juniormester
03. december 2004 - 12:04 #6
Skal der kun sendes til en?
Avatar billede schaefner Juniormester
03. december 2004 - 12:14 #7
Den her skulle gerne sende en mail til mlj@cortexconsult.dk med indholdet fra databasen.
Men du risikerer jo, at det bliver en pokkers stor mail.

<?php
/* recipients */
$recipient  = "mlj@cortexconsult.dk";

/* subject */
$subject = "test";
/* Message */
$body = "";

/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

include("db.php");
$color1 = "#E7E7E7";
$color2 = "#F7F7F7";
$whichcolor = 0;
print"<font size=2 face=Verdana, Arial, Helvetica, sans-serif> Søgningen på <b>$tekst_soeg</b> gav følgene resultater:<br> <br>";
$foresp = mysql_query("SELECT servernavn, racknr, room, U, s.id FROM server s, room r, rack a WHERE s.rackid=a.id AND s.roomid=r.id AND a.roomid=r.id AND s.roomid=a.roomid AND servernavn LIKE 'ludk%' ORDER BY servernavn ");

while($data =mysql_fetch_array($foresp)) {
  if ($data[4] == 'hjemme'){ $farve="#00ff00"; }else {$farve="#FF0000";}

    /* message */
    $body .= "<table width=600 border=0>";
    if ($whichcolor == 0) {
        $color = $color1;
        $whichcolor = 1;
    } else {
        $color = $color2;
        $whichcolor = 0;
    }
    $body .= "<tr bgcolor=$color>
    <td width=125 ><font size=1 face=Verdana, Arial, Helvetica, sans-serif>$data[0]</font></td>
  <td width=125><font size=1 face=Verdana, Arial, Helvetica, sans-serif>$data[1]</font></div></td>
  <td width=125> <font size=1 face=Verdana, Arial, Helvetica, sans-serif>$data[2]</font></div></td>
  <td width=125> <font size=1 face=Verdana, Arial, Helvetica, sans-serif>$data[3]</font></div></td>
<td width=100><form name=form method=post action=update.php >
    <input type=hidden name=id value=$data[4]>
    <input type=submit name=slet class=bog value=DEL>
        <input type=submit name=ret  class=bog value=RET>
    </form></td>
  </tr>
  </table>";
}

/* and now mail it */
mail($recipient, $subject, $body, $headers);
?>
Avatar billede akki Nybegynder
03. december 2004 - 12:17 #8
Ved godt at mailen kan blive stor.
Men det skulle ikke være det store problem.
Avatar billede akki Nybegynder
03. december 2004 - 12:27 #9
det bliver til en mail på ca. 300 kb, noget af en satan :D men det virker, nu mangler jeg bare at havde en form, hvor du udfylder en email, samt et servernavn sådan at mlj@cortexconsult.dk kan blive byttet ud med noget andet, samt servernavn LIKE 'ludk%' kan blive byttet ud.
Avatar billede schaefner Juniormester
03. december 2004 - 12:28 #10
Jeg kigger på det. Vender tilbage om en halv times tid.
Avatar billede schaefner Juniormester
03. december 2004 - 13:13 #11
<form method="post" action="<?php print basename($_SERVER['PHP_SELF']); ?>">
<input type="hidden" name="sent" value="1" />

Modtager: <input type="text" name="recipient" /><br />
Servernavn: <input type="text" name="q" /><br /><br />

<input type="submit" value="Send" />
</form>

<?php
if (isset($_POST['sent'])) {
    /* subject */
    $subject = "test";
    /* Message */
    $body = "";
   
    /* To send HTML mail, you can set the Content-type header. */
    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
   
    include("db.php");
    $color1 = "#E7E7E7";
    $color2 = "#F7F7F7";
    $whichcolor = 0;
    print"<font size=2 face=Verdana, Arial, Helvetica, sans-serif> Søgningen på <b>$tekst_soeg</b> gav følgene resultater:<br> <br>";
    $foresp = mysql_query("SELECT servernavn, racknr, room, U, s.id FROM server s, room r, rack a WHERE s.rackid=a.id AND s.roomid=r.id AND a.roomid=r.id AND s.roomid=a.roomid AND servernavn LIKE '".$_POST['q']."%' ORDER BY servernavn ");
   
    while($data =mysql_fetch_array($foresp)) {
      if ($data[4] == 'hjemme'){ $farve="#00ff00"; }else {$farve="#FF0000";}
   
        /* message */
        $body .= "<table width=600 border=0>";
        if ($whichcolor == 0) {
            $color = $color1;
            $whichcolor = 1;
        } else {
            $color = $color2;
            $whichcolor = 0;
        }
        $body .= "<tr bgcolor=$color>
        <td width=125 ><font size=1 face=Verdana, Arial, Helvetica, sans-serif>$data[0]</font></td>
      <td width=125><font size=1 face=Verdana, Arial, Helvetica, sans-serif>$data[1]</font></div></td>
      <td width=125> <font size=1 face=Verdana, Arial, Helvetica, sans-serif>$data[2]</font></div></td>
      <td width=125> <font size=1 face=Verdana, Arial, Helvetica, sans-serif>$data[3]</font></div></td>
    <td width=100><form name=form method=post action=update.php >
        <input type=hidden name=id value=$data[4]>
        <input type=submit name=slet class=bog value=DEL>
            <input type=submit name=ret  class=bog value=RET>
        </form></td>
      </tr>
      </table>";
    }
   
    /* and now mail it */
    mail($_POST['recipient'], $subject, $body, $headers);
   
    print "Halløj";
}
?>
Avatar billede schaefner Juniormester
03. december 2004 - 20:42 #12
Virker det?
Avatar billede akki Nybegynder
07. december 2004 - 14:37 #13
til schaefner.

Kan du ikke give et svar, du fortjener nogle point..
Avatar billede schaefner Juniormester
07. december 2004 - 15:20 #14
Ok, men virker det?

Jeg har også lagt en kommentar her: http://exp.dk/spm/565017
Avatar billede schaefner Juniormester
05. marts 2006 - 00:20 #15
?
Avatar billede schaefner Juniormester
18. februar 2007 - 19:50 #16
?
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester