如何用数据库中的内容替换值


how to replace value with content from database?

我的数据库表上有这个

id_a|nama|电子邮件|

1|philipe|philipe@mail.com|

2|dora|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

一封电子邮件后的逗号有人能给我一些解决方案吗?这样我就可以得到

假设你想要一个字符串,你可以循环到一个数组中,然后内爆。

$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

您可以使用以下代码获得所述结果:

$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.    

这个链接肯定会帮助您生成查询结果。