PHPとデータベースを使い、
顧客の条件に合った物件をメールに記載して送る処理を行っています。
その際、物件を記載する処理[下記(1)]の部分で同じ物件が記載されてしまいます。
(顧客によっては記載されない)
データベース上に重複する物件は存在しないので、なぜ二重に記載されてしまうのかわかりません。
どこを疑えば良いでしょうか。
メール記載例:物件1、物件2、物件3、物件1、物件4、物件2、物件1、物件3、物件3
(二重記載される際のパターンは見つかりません)
コード(簡略化)
----------------------------------------------------------------------
データデース1:顧客リスト
データベース2:物件リスト
//顧客取得
$sql_user = SELECT 条件 FROM 顧客リスト
$result_user = mysql_query($sql_user)
for($i = 0; $i < mysql_num_rows($result_user); $i++){
$arr_user= mysql_fetch_array($result_user);
//顧客の条件に合った物件を取得するSQL文
$sql_match = SELECT * FROM 物件情報リスト WHERE~条件~
$result_match =mysql_query($sql__match);
for($i = 0; $i < mysql_num_rows($result_match); $i++){
$arr_match= mysql_fetch_array($result_match);
[(1)]物件を記載する処理
}
1ユーザー分のメールを送る処理
}
----------------------------------------------------------------------
うまく説明できていなかったらすみません。
No.2ベストアンサー
- 回答日時:
SQLの結果が既に重複しているのか、その後の処理で重複させてしまったのか、
どこで重複したかを調べてみましょう。
「[(1)]物件を記載する処理」の前後と、「1ユーザー分のメールを送る処理」の前後、
var_dumpで該当の変数や配列がどういう値になっているか見てみましょう。
>>SQLの結果が既に重複しているのか
下記の回答者様に返信した内容と同様の疑問ですが、例えばデータベースに6件のデータがあった場合に
12件のデータを取得できるSQL文もあるのでしょうか。無知ですみません。
No.3
- 回答日時:
> データベースに重複するデータが入っていなかったとしても、SELECT文で取得する際に
> 同じデータを取得することもあるという事でしょうか。
SQL文の書き方次第ではあり得ます。
No.1
- 回答日時:
$sql_match の詳細なSQL文が分からないのと、物件リストにどのような形で条件が入っているのかが分からないと根本的な原因は分かりませんが、単純に物件情報が重複しないようにするなら $sql_match の SELECT に DISTINCT を付ければいいのではないでしょうか。
>>$sql_match の SELECT に DISTINCT を付ければいいのではないでしょうか
データベースに重複するデータが入っていなかったとしても、SELECT文で取得する際に
同じデータを取得することもあるという事でしょうか。
使用しているSQLの内容をしっかり把握できていないのですが、
どんな条件を入れたとしても、同じデータを2回取得することはないというのが現状の認識です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- その他(資産運用・投資) 不動産会社が使うシステムのレインズについて質問です。 レインズには物件情報が載っていると思いますが、 3 2022/09/22 20:08
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- Visual Basic(VBA) 複数ページあるPDFファイル内の文字列等の情報をキーにPDFをグループ分け分割したい。 2 2022/06/25 09:51
- 引越し・部屋探し 引っ越しについて 新築物件に住みたいのですが、新築物件って完成までに埋まってしまうことが多いのでしょ 3 2023/02/28 10:26
- その他(住宅・住まい) 賃貸 退去立会い 必要か否か 6 2022/10/08 16:36
- 農学 偶蹄類の輸入に関しての質問です 1 2022/08/16 23:53
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
- 不動産業・賃貸業 不動産賃貸物件の契約をする予定です。 申し込みし、内見すませ、1〜2日内に契約するよう言われました。 1 2023/03/02 18:09
- 不動産業・賃貸業 不動産業界の質問です。 1 2022/07/23 23:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP+MySQL 内部結合(INNER_JOIN...
-
perlを使ってレコード件数を取...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
あるDBから別のDBのテーブルをs...
-
sql*loader 数値のロード
-
SQLです。あってますか?↓
-
CSVを1行しかインポートしない...
-
mysqlにおけるホストのパーセン...
-
複数行をINSERTで『ORA-00911: ...
-
SQLServerのselect文でデータ数...
-
数字で「そ」と「り」
-
SQLデータベースへのリンクがあ...
-
mySQLのデータベースにhtmlのコ...
-
作成したレコードセットのCSV出...
-
お世話かけますが、エラー内容...
-
ODBCを使用する場合のファイルD...
-
同じSQL文で極端に検索が遅くな...
-
sql merge文について
-
DB2の文字化け
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perlを使ってレコード件数を取...
-
二重に記載されてしまう
-
人口の都道府県別の割合を求め...
-
PHP+MySQL 内部結合(INNER_JOIN...
-
sql文のcount変数について
-
MySQLのデータファイルの位置に...
-
データベースファイル(.db)を開...
-
PL/SQLで@ファイル名が反応しま...
-
あるDBから別のDBのテーブルをs...
-
PL/SQLをWindowsのBATファイル...
-
html上でMySQLにアクセス(Java...
-
sql*loader 数値のロード
-
同じSQL文で極端に検索が遅くな...
-
数字で「そ」と「り」
-
mysqlにおけるホストのパーセン...
-
create databaseがうまくいきま...
-
SQLServerのselect文でデータ数...
-
作成したレコードセットのCSV出...
-
バッチファイルではパスワード...
-
mySQLのデータベースにhtmlのコ...
おすすめ情報