1

なぜ質問に反対票を投じるのですか?

そのため、登録ユーザーを表示するプロジェクトに取り組んでいます。登録ユーザーが別のmysqlテーブルに製品を持っている場合、ユーザーの電子メールは別のリストに表示されますが、一度だけです。

データベースでは、ユーザーの電子メールが各製品との結合ポイントであるため、ユーザーが 2 つの製品を持っている場合、電子メールはデータベースで 2 回設定されますが、2 つの異なる行に設定されます。

したがって、ここで行う必要があるのは、メールが 2 回送信された場合に 1 行を非表示にすることです。

これはmysqlにいくつかの変更を加えることで可能ですか、それともphp ifステートメントでステートメントを変更することは可能ですか?
LIMIT 1 は、このクエリでは機能しないようです。

以下のコードは、
mail @aaa.com
mail@aaa.com
mail@aaa.com mail@bbb.com mail@ccc.com

示しています。

次のように表示したい:
mail@aaa.com
mail@bbb.com
mail@ccc.com

ありがとう
ジム

<?php 
    $user_list = "";
        $sql = mysql_query("SELECT * FROM userproducts");
        $userCount = mysql_num_rows($sql);
        if ($userCount > 0){
            while($row = mysql_fetch_array($sql)){
                $email = $row["user"];

                $user_list .= '<table width="300">
                                <tr>
                                    <td>'.$email.'</td>
                                </tr>
                              </table>';
            }
        }else{
                $user_list = "We have no users with special prices yet";
        }
?>
4

2 に答える 2

3

クエリに GROUP BY を追加する

SELECT * FROM userproducts GROUP BY user

または、DISTINCT を使用して一意のユーザーを取得します

SELECT DISTINCT(user) FROM userproducts
于 2013-07-05T12:07:09.813 に答える