Re: [NEWBIE] Trying to combine array into one string
| From: | Jochem Maas | Date: | Tue, 15 Feb 2005 18:12:54 +0000 |
| Subject: | Re: [NEWBIE] Trying to combine array into one string | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-208753@lists.php.net to get a copy of this message | ||
Dave wrote:
PHP General, The Situation: I'm retrieving some email addresses from a database. I want to be able assemble all the addresses into one string that I can use in the mail() command. At no time should there ever be more than about 5 email addresses collected from the database. I want all addresses to appear in the "To:" field so everyone receiving the email will know who else has a copy. The Problem: I can't quite figure out how to take the results of the mysql_query() and assemble them into a string. In my experiments so far, I either get a "mysql_data_seek(): Offset 0 is invalid for MySQL result index" error, or my mail function sends to a blank address. What I've Tried So Far: My own code is obviously flawed in syntax in logic, so I searched the manual and this list's archives under the terms "array", "concatenate", "convert", "append" and "string" in various combinations. However, while I learned some interesting tips on a variety of topics, I suspect I'm missing some essential description that will lead me to the command I need. The Question: How do I take the contents of an array and turn them into a single string? For Reference: Here is the code I have. I know it's flawed, but hopefully it will give an indication of what I'm trying to achieve: --code-- $tantoQuery = "SELECT forum_members.emailAddress AS email FROM forum_members, event_tanto WHERE forum_members.ID_MEMBER = event_tanto.tanto AND event_tanto.event ='" . $show . "'"; $tantoResult = mysql_query($tantoQuery); while ($tantoData = mysql_fetch_array($tantoResult)) {$tantoData is an array so you can't just concat it into a string. change the body of the while loop to something like: if (!isset($tantoEmail)) { $tantoEmail = $tantoData['email'];$tantoEmail = $tantoEmail . "," . $tantoData;}
} else {
$tantoEmail .= "," . $tantoData['email'];
}
or do something like....
$tantoEmail = array();
while ($tantoData = mysql_fetch_array($tantoResult)) {
$tantoEmail[] = $tantoData['email'];
}
if ($tantoEmail = join(',',$tantoEmail)) {
mail($tantoEmail, $subject, $mailcontent, $addHeaders);
}
mail($tantoEmail, $subject, $mailcontent, $addHeaders); --code-- Any help would be much appreciated.