DLR Posted June 27, 2006 Share Posted June 27, 2006 Hi all.I have a database with a lst of birthdays and have written a script to access the database on a daily basis. If there are any birthdays that day, it inserts the name from the database into the script and sends of an email to wish that person a happy birthday.If there is more than one person with a birthday on that day, it will send a separate email to each person having a birthday.Instead of just copying this letter(s) to me, I would like the script to send me one email with a list of the people having a birthday that day.I have tried to use an array, but do not seem to be able to get this to work - I get "resource#4" or something like that , in the email.My email script goes like this:$check_birthdays = "SELECT * FROM birthdays WHERE day = $today_day AND month = $today_month";$result = mysql_query($check_birthdays) or die(mysql_error());if (mysql_num_rows($result) >> 0 ) { //send email to each person who has a birthday today while ($row = mysql_fetch_array($result)) { extract($row); birthday_wishes(); // this is a function to insert the data from the table and send off the email - works fine } // send one email with list of all people having birthday today birthday_list()function birthday_list() {global $row;$to = "me";$from = "server";$subject2 = "Today's birthday list";$messagebody2 = "The following clients have birthdays today, " . date('d/F/Y') . " <p> " . print_r($result); Link to comment https://forums.phpfreaks.com/topic/13019-inserting-multiple-entries-in-email/ Share on other sites More sharing options...
Wildbug Posted June 27, 2006 Share Posted June 27, 2006 1. Why are you using a bit-shift?[code]if (mysql_num_rows($result) >> 0 ) {[/code]2. Why don't you just compose a string to yourself while you loop through the results?[code]$text_to_myself = 'The following clients have birthdays today, ' . date('d/F/Y') . '<p>';while ($row = mysql_fetch_array($result)) { // .... I don't know what your rows are called, but... $text_to_myself .= "$row[firstname] $row[lastname] ($row[age])<br>\n"; // ....}$text_to_myself .= '</p>';// send it.[/code]If you're getting something like "resource#4", then you're probably trying to print the MySQL resource handle directly somehow. Link to comment https://forums.phpfreaks.com/topic/13019-inserting-multiple-entries-in-email/#findComment-50100 Share on other sites More sharing options...
fenway Posted July 3, 2006 Share Posted July 3, 2006 Well, you'd have to use mysql_fetch_assoc to get the hash back; also, any attempt to print $result directly is the source of your "resource #N" output. Link to comment https://forums.phpfreaks.com/topic/13019-inserting-multiple-entries-in-email/#findComment-52276 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.