2010年09月30日

MYSQLの重複値を元にフラグを立てる

お願いします♪いいねとかつぶやいたりして下さい
 
10月7日 追記
$send = $this->Melmaga->find('all',array('conditions' => array('site_id' => $ar ,'ngcount < ' => 3),'fields' => 'DISTINCT Melmaga.email , Melmaga.name,Melmaga.site_id'));


この、DISTINCT句を fieldsに指定してあげることで、

ユニークな email フィールドのみを取得する


ということができるみたい。

メールマガジンを送信するときに、メールアドレスが被っているユーザーにはメールを送信したくない。
そういう場合は

メールアドレスの被っているユーザーはいるか?



をやらないといけない。

ではどのようにするかというと

○melmaga.php モデルにて
$res = $this->query('SELECT * FROM `prefix_melmagas` GROUP BY `email` HAVING COUNT(`email`) > 1 AND kaburi != 1');//email フィールドがテーブル内で被っていて、kaburi フラグが 1じゃない ユーザーのみを読み出す

$ids = array();//このIDのものが重複なので、kaburiを1にする
foreach($res as $v){
    $ids[] = $v['prefix_melmagas']['id'];
}

$update= array('Melmaga.kaburi' => 1);

//ここで $ids の id のユーザーのkaburiを全て 1にする
$this->updateAll($update,array('Melmaga.id' => $ids));

return $ids;


ってな感じかな。
関連するタグ: PHP cakephp MYSQL
あなたにとって有用な記事でしたか?是非ブックマークしておくことをおすすめします。
 




ライブラリを配布しちゃったり
webデザイン
Fireworks
HTMLコーディング
CSS
Dreamweaver
携帯サイト
webプログラム
PHP
正規表現
cakephp
MYSQL
javascript
webマーケティング
adwords
analytics
windows7
ショートカットキー
おすすめ情報
サイト
facebook
ライブラリ
配布
アプリ
iphone
ipad
サーバー
さくらサーバー
全ての記事を読む




トップ - 最新の記事一覧 - お問い合わせ