1

こんにちは私は多次元配列に整理する必要があるデータベース結果のセットを持っているので、複数の電子メールではなく1つの電子メールでユーザーに結果を電子メールで送信できます。

私がデータベースから持っている値は、name、email、route_name、route_detailsです。これはユーザーの一意の識別子であるため、理想的には、ユーザーの電子メールに基づいてルートをグループ化したいです。次のようなものが私のために働くと思います。

    Array
    (
       [email@email.com] => Array
                          (
                            [0] => name
                            [1] => Array
                                 (
                                   [0] => route_name
                                   [1] => route_details
                                 )
                             [2] => Array
                                 (
                                   [0] => route_name
                                   [1] => route_details
                                 )
                           )
       [email2@email2.com] => Array
                          (
                            [0] => name
                            [1] => Array
                                 (
                                   [0] => route_name
                                   [1] => route_details
                                 )
                            [2] => Array
                                 (
                                   [0] => route_name
                                   [1] => route_details
                                 )
                            [3] => Array
                                 (
                                   [0] => route_name
                                   [1] => route_details
                                 )

                           )
    )

結果ループ内で次のことを試しましたが、電子メールに基づいて結果をグループ化する方法がわからないため、これがまさに必要なものではないと思います。

    $routeArray = array($data->email ,array($data->route_name, $data->route_details));

    $userEmailArray[] = $flightArray;

ありがとう

4

1 に答える 1

0

以下はあなたのために働くと思います。このコードは、数値インデックスの代わりにキー名を追加します。

// Add order by email clause
$sql = "select name, email, route_name, route_details from YOUR SQL QUERY ORDER BY    email";
$res = mysql_query($sql);

$desired_format = array();

while($row = mysql_fetch_assoc($res)){
    $tmp = array('route_name'=>$row['route_name'],'route_details'=>$row['route_details']);
    $desired_format[$row['email']]['name'] = $row['name'];
    $desired_format[$row['email']][] = $tmp;
}
于 2012-05-10T11:11:46.373 に答える