0

データベーステーブルにこれがあります

id_a | なま | 電子メール |

1 | フィリップ | 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 です

1通のメールの後のカンマは、誰か解決策を教えてくれますか?

4

2 に答える 2

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
于 2012-07-27T04:59:58.267 に答える
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.    

このリンクは、クエリの結果を生成するのに役立ちます。

于 2012-07-27T05:12:54.473 に答える