我在我的数据库表中有这个
id_a | nama |电子邮件|
1 | philipe | philipe@mail.com |
2 |多拉| dora@mail.com |
3 |约翰| john@mail.com |
我的观点上的这段代码
<tr>
<td><label for="cities">Select attendances</label></td>
<td> : </td>
<td> <select class="multiselect" multiple="multiple" name="id_c[]" title="click to select Attendances">
<?php foreach ($test as $data): ?>
<option value="<?php echo $data->id_a ?>" ><?php echo $data->nama ?></option>
<?php endforeach; ?>
</select></td></tr>
在我的代码中,我的数据库中有选项值= 1 2 3
我想要做的是发送电子邮件,并使用我的数据库中的电子邮件地址
$id_c = $this->input->post('id_c');
foreach($id_c as $id_a)
{
$query="SELECT email From mstr_attend WHERE id_a = ".$id_a.""; }
这就是问题 我从这段代码得到的是philipe @ mail.comdora @ mail.comjohn @ mail.com
我需要的是philipe@mail.com,dora@mail.com,john@mail.com
一封电子邮件后的逗号 可以有人,给我一些解决方案,这样我就能得到那个
答案 0 :(得分:0)
假设你想要一个字符串,你可以循环到一个数组然后内爆。
$emails = array();
foreach( $ids as $i )
{
//do query here, then store in the emails array
$emails[] = $query_output_email;
}
$comma_separated = implode( ', ', $emails ); //should output as email@dot.com, email@dot.com
答案 1 :(得分:0)
您可以使用以下代码获得所述结果:
$id_c = $this->input->post('id_c');
$all_id_c = implode(',', $id_c);
$this->db->select('group_concat(email) as emails');
$this->db->where('id_a IN ('.$all_id_c.')');
$query = $this->db->get('mstr_attend');
$result = $query->row_array();
echo $result['emails']; // here is your result.
This link肯定会帮助您生成查询结果。