ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 4272


Ignore:
Timestamp:
Oct 3, 2007, 8:02:58 PM (14 years ago)
Author:
ogawa
Message:

#1348:MySQL4.0以前の環境で管理画面のメンバーリストに誰も表示されない

Location:
OpenPNE/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/trunk/webapp/lib/db/commu.php

    r4127 r4272  
    17101710    $select = 'SELECT c_commu.*';
    17111711
    1712     $where = ' WHERE true';
     1712    $wheres = array();
    17131713    $params = array();
    17141714    if ($c_commu_category_id) {
    1715         $where .= ' AND c_commu.c_commu_category_id = ?';
     1715        $wheres[] = 'c_commu.c_commu_category_id = ?';
    17161716        $params[] = $c_commu_category_id;
    17171717    }
     
    17211721            $word = check_search_word($word);
    17221722
    1723             $where .= ' AND (c_commu.name LIKE ? OR c_commu.info LIKE ?)';
     1723            $wheres[] = '(c_commu.name LIKE ? OR c_commu.info LIKE ?)';
    17241724            $params[] = '%'.$word.'%';
    17251725            $params[] = '%'.$word.'%';
    17261726        }
     1727    }
     1728    if ($wheres) {
     1729        $where = ' WHERE ' . implode(' AND ', $wheres);
     1730    } else {
     1731        $where = '';
    17271732    }
    17281733
     
    17991804    $sql = 'SELECT * FROM c_commu';
    18001805
    1801     $where = ' WHERE true';
     1806    $wheres = array();
    18021807    $params = array();
    18031808    if ($search_word) {
    1804         $where .= ' AND (name LIKE ? OR info LIKE ?)';
     1809        $wheres[] = '(name LIKE ? OR info LIKE ?)';
    18051810        $params[] = '%'.$search_word.'%';
    18061811        $params[] = '%'.$search_word.'%';
    18071812    }
    18081813    if ($c_commu_category_id != 'all' && $c_commu_category_id) {
    1809         $where .= ' AND c_commu_category_id = ?';
     1814        $wheres[] = 'c_commu_category_id = ?';
    18101815        $params[] = intval($c_commu_category_id);
     1816    }
     1817    if ($wheres) {
     1818        $where = ' WHERE ' . implode(' AND ', $wheres);
     1819    } else {
     1820        $where = '';
    18111821    }
    18121822
  • OpenPNE/trunk/webapp/lib/db/member.php

    r4269 r4272  
    241241    $page_size = intval($page_size);
    242242
    243     $where = " WHERE true";
     243    $wheres = array();
    244244    $params = array();
    245245
     
    247247        if ($value) {
    248248            if ($key == 'image') {
    249                 $where .= " AND image_filename <> ''";
     249                $wheres[] = "image_filename <> ''";
    250250            } else {
    251                 $where .= " AND ". db_escapeIdentifier($key) ." = ?";
     251                $wheres[] = db_escapeIdentifier($key) . ' = ?';
    252252                $params[] = $value;
    253253                if ($key == 'birth_year') {
    254                     $where .= " AND public_flag_birth_year = 'public'";
     254                    $wheres[] = "public_flag_birth_year = 'public'";
    255255                }
    256256            }
     
    259259    foreach ($cond_like as $key => $value) {
    260260        if ($value) {
    261             $where .= " AND " . db_escapeIdentifier($key) . " LIKE ?";
    262             $params[] = '%'.$value.'%';
     261            $wheres[] = db_escapeIdentifier($key) . ' LIKE ?';
     262            $params[] = '%' . $value . '%';
    263263        }
     264    }
     265    if ($wheres) {
     266        $where = ' WHERE ' . implode(' AND ', $wheres);
     267    } else {
     268        $where = '';
    264269    }
    265270
  • OpenPNE/trunk/webapp/lib/db/review.php

    r3738 r4272  
    162162    $from = " FROM c_review INNER JOIN c_review_comment USING (c_review_id)";
    163163
    164     $where = ' WHERE true';
     164    $wheres = array();
    165165    $params = array();
    166166    if ($keyword) {
    167         $where .= ' AND c_review.title LIKE ?';
     167        $wheres[] = 'c_review.title LIKE ?';
    168168        $params[] = '%'.check_search_word($keyword).'%';
    169169    }
    170170    if ($category_id) {
    171         $where .= ' AND c_review.c_review_category_id = ?';
     171        $wheres[] = 'c_review.c_review_category_id = ?';
    172172        $params[] = intval($category_id);
     173    }
     174    if ($wheres) {
     175        $where = ' WHERE ' . implode(' AND ', $wheres);
     176    } else {
     177        $where = '';
    173178    }
    174179
  • OpenPNE/trunk/webapp/modules/admin/do/csv_member.php

    r3591 r4272  
    3838     * メンバーリスト取得
    3939     */
    40     function db_get_c_member_list($start_id,$end_id)
     40    function db_get_c_member_list($start_id, $end_id)
    4141    {
    4242        $params = array();
    43         $sql = 'SELECT c_member_id FROM c_member ';
    44         $sql .= ' WHERE true ' ;
     43        $sql = 'SELECT c_member_id FROM c_member';
     44        $wheres = array();
    4545        if ($start_id > 1) {
    46             $sql .= ' AND c_member_id >= ? ';
     46            $wheres[] = 'c_member_id >= ?';
    4747            $params[] = $start_id;
    4848        }
    4949        if ($end_id > 0) {
    50             $sql .= ' AND c_member_id <= ? ';
     50            $wheres[] = 'c_member_id <= ?';
    5151            $params[] = $end_id;
    5252        }
     53        if ($wheres) {
     54            $where = ' WHERE ' . implode(' AND ', $wheres);
     55        } else {
     56            $where = '';
     57        }
     58        $sql .= $where;
    5359        $sql .= ' ORDER BY c_member_id';
    5460        $ids = db_get_col($sql, $params);
  • OpenPNE/trunk/webapp/modules/admin/lib/db_admin.php

    r4270 r4272  
    547547{
    548548    $sql = 'SELECT c_member_id'.
    549            ' FROM c_member'.
    550            ' WHERE true';
     549           ' FROM c_member';
     550
     551    $wheres = array();
    551552
    552553    //開始年
    553554    if (!empty($cond_list['s_year'])) {
    554         $sql .= ' AND birth_year >= ?';
     555        $wheres[] = 'birth_year >= ?';
    555556        $params[] = $cond_list['s_year'];
    556557    }
    557558    //終了年
    558559    if (!empty($cond_list['e_year'])) {
    559         $sql .= ' AND birth_year <= ?';
     560        $wheres[] = 'birth_year <= ?';
    560561        $params[] = $cond_list['e_year'];
    561562    }
     
    563564    // 誕生日による絞り込みの場合は、誕生年が0のメンバーを除外する
    564565    if (!empty($cond_list['s_year']) || !empty($cond_list['e_year'])) {
    565         $sql .= ' AND birth_year <> 0';
     566        $wheres[] = 'birth_year <> 0';
    566567    }
    567568
     
    571572        switch($cond_list['last_login']) {
    572573        case 1: //3日以内
    573             $sql .= ' AND access_date >= ?';
     574            $wheres[] = 'access_date >= ?';
    574575            $params[] = date('Y-m-d', strtotime('-3 day'));
    575576            break;
    576577        case 2: //3~7日以内
    577             $sql .= ' AND access_date >= ? AND access_date < ?';
     578            $wheres[] = 'access_date >= ? AND access_date < ?';
    578579            $params[] = date('Y-m-d', strtotime('-7 day'));
    579580            $params[] = date('Y-m-d', strtotime('-3 day'));
    580581            break;
    581582        case 3: //7~30日以内
    582             $sql .= ' AND access_date >= ? AND access_date < ?';
     583            $wheres[] = 'access_date >= ? AND access_date < ?';
    583584            $params[] = date('Y-m-d', strtotime('-30 day'));
    584585            $params[] = date('Y-m-d', strtotime('-7 day'));
    585586            break;
    586587        case 4: //30日以上
    587             $sql .= ' AND access_date > ? AND access_date < ?';
     588            $wheres[] = 'access_date > ? AND access_date < ?';
    588589            $params[] = '0000-00-00 00:00:00';
    589590            $params[] = date('Y-m-d', strtotime('-30 day'));
    590591            break;
    591592        case 5: //未ログイン
    592             $sql .= ' AND access_date = ?';
     593            $wheres[] = 'access_date = ?';
    593594            $params[] = '0000-00-00 00:00:00';
    594595            break;
     
    596597    }
    597598
     599    if ($wheres) {
     600        $where = ' WHERE ' . implode(' AND ', $wheres);
     601    } else {
     602        $where = '';
     603    }
     604    $sql .= $where;
     605   
    598606    // --- ソートオーダーここから
    599607
     
    687695    if (!empty($cond_list['is_pc_address']) || !empty($cond_list['is_ktai_address'])) {
    688696
    689         $sql = 'SELECT c_member_id FROM c_member_secure WHERE true';
     697        $sql = 'SELECT c_member_id FROM c_member_secure';
     698        $wheres = array();
    690699
    691700        //PCアドレスの有無で絞る
    692701        if ($cond_list['is_pc_address'] == 1) {
    693             $sql .= " AND pc_address <> '' ";
    694         } else if ($cond_list['is_pc_address'] == 2) {
    695             $sql .= " AND pc_address = '' ";
     702            $wheres[] = "pc_address <> ''";
     703        } elseif ($cond_list['is_pc_address'] == 2) {
     704            $wheres[] = "pc_address = ''";
    696705        }
    697706
    698707        //携帯アドレスの有無で絞る
    699708        if ($cond_list['is_ktai_address'] == 1) {
    700             $sql .= " AND ktai_address <> '' ";
    701         } else if ($cond_list['is_ktai_address'] == 2) {
    702             $sql .= " AND ktai_address = '' ";
    703         }
     709            $wheres[] = "ktai_address <> ''";
     710        } elseif ($cond_list['is_ktai_address'] == 2) {
     711            $wheres[] = "ktai_address = ''";
     712        }
     713
     714        if ($wheres) {
     715            $where = ' WHERE ' . implode(' AND ', $wheres);
     716        } else {
     717            $where = '';
     718        }
     719        $sql .= $where;
    704720
    705721        $temp_ids = db_get_col($sql);
     
    16051621    $page_size = intval($page_size);
    16061622
    1607     $where = " WHERE true ";
     1623    $wheres = array();
     1624    $params = array();
    16081625
    16091626    //指定された条件で絞っていく
    1610     if ($s_access_date != "") {
    1611         $where = $where . " and access_date >= ?";
    1612         $params = array($s_access_date);
    1613     }
    1614 
    1615     if ($e_access_date != "") {
    1616         $where = $where . " and access_date < ?";
    1617         $params = array($e_access_date);
     1627    if ($s_access_date != '') {
     1628        $wheres[] = 'access_date >= ?';
     1629        $params[] = $s_access_date;
     1630    }
     1631
     1632    if ($e_access_date != '') {
     1633        $wheres[] = 'access_date < ?';
     1634        $params[] = $e_access_date;
     1635    }
     1636
     1637    if ($wheres) {
     1638        $where = ' WHERE ' . implode(' AND ', $wheres);
     1639    } else {
     1640        $where = '';
    16181641    }
    16191642
     
    18551878    $page_size = intval($page_size);
    18561879   
    1857     $where = " WHERE true";
     1880    $wheres = array();
    18581881
    18591882    if ($keyword) {
    18601883        //全角空白を半角に統一
    1861         $keyword = str_replace(" ", " ", $keyword);
    1862         $keyword_list = explode(" ", $keyword);
    1863            
    1864         for($i=0;$i < count($keyword_list);$i++) {
    1865             $keyword = check_search_word( $keyword_list[$i] );
    1866                
    1867             $where .= " AND (c_diary.subject LIKE ?";
    1868             $where .= " OR c_diary.body LIKE ? )";
    1869             $params[]="%$keyword%";
    1870             $params[]="%$keyword%";
    1871         }
     1884        $keyword = str_replace(' ', ' ', $keyword);
     1885        $keyword_list = explode(' ', $keyword);
     1886
     1887        for ($i = 0; $i < count($keyword_list); $i++) {
     1888            $keyword = check_search_word($keyword_list[$i]);
     1889
     1890            $wheres[] = '(c_diary.subject LIKE ? OR c_diary.body LIKE ?)';
     1891            $params[] = '%' . $keyword . '%';
     1892            $params[] = '%' . $keyword . '%';
     1893        }
     1894    }
     1895    if ($wheres) {
     1896        $where = ' WHERE ' . implode(' AND ', $wheres);
     1897    } else {
     1898        $where = '';
    18721899    }
    18731900   
     
    19331960    $page_size = intval($page_size);
    19341961   
    1935     $where = " WHERE true ";
     1962    $wheres = array();
    19361963
    19371964    if ($keyword) {
    19381965        //全角空白を半角に統一
    1939         $keyword = str_replace(" ", " ", $keyword);
    1940         $keyword_list = explode(" ", $keyword);
    1941            
    1942         for($i=0;$i < count($keyword_list);$i++) {
    1943             $keyword = check_search_word( $keyword_list[$i] );
    1944                
    1945             $where .= " AND (c_diary_comment.body LIKE ?)";
    1946             $params[] = "%$keyword%";
    1947         }
    1948     }
    1949    
     1966        $keyword = str_replace(' ', ' ', $keyword);
     1967        $keyword_list = explode(' ', $keyword);
     1968
     1969        for($i = 0; $i < count($keyword_list); $i++) {
     1970            $keyword = check_search_word($keyword_list[$i]);
     1971
     1972            $wheres[] = 'c_diary_comment.body LIKE ?';
     1973            $params[] = '%' . $keyword . '%';
     1974        }
     1975    }
     1976
     1977    if ($wheres) {
     1978        $where = ' WHERE ' . implode(' AND ', $wheres);
     1979    } else {
     1980        $where = '';
     1981    }
     1982
    19501983    $select = "SELECT c_diary_comment.*, c_diary.subject";
    19511984    $from = " FROM c_diary_comment"
     
    20122045    $page_size = intval($page_size);
    20132046   
    2014     $where = " WHERE true ";
     2047    $wheres = array();
    20152048
    20162049    if ($keyword) {
    2017         $keyword = str_replace("?@", " ", $keyword);
    2018         $keyword_list = explode(" ", $keyword);
     2050        $keyword = str_replace(' ', ' ', $keyword);
     2051        $keyword_list = explode(' ', $keyword);
    20192052           
    2020         for($i=0;$i < count($keyword_list);$i++) {
    2021             $keyword = check_search_word( $keyword_list[$i] );
     2053        for($i = 0; $i < count($keyword_list); $i++) {
     2054            $keyword = check_search_word($keyword_list[$i]);
    20222055               
    2023             $where .= " AND ((name LIKE ? )";
    2024             $where .= " OR (info LIKE ? ))";
    2025             $params[]="%$keyword%";
    2026             $params[]="%$keyword%";
    2027         }
    2028     }
    2029    
     2056            $wheres[] = '(name LIKE ? OR info LIKE ?)';
     2057            $params[] = '%' . $keyword . '%';
     2058            $params[] = '%' . $keyword . '%';
     2059        }
     2060    }
     2061
     2062    if ($wheres) {
     2063        $where = ' WHERE ' . implode(' AND ', $wheres);
     2064    } else {
     2065        $where = '';
     2066    }
     2067
    20302068    $select = "SELECT * ";
    20312069    $from = " FROM c_commu";
     
    21742212    $page_size = intval($page_size);
    21752213   
    2176     $where = " where true ";
     2214    $wheres = array();
    21772215
    21782216    if ($keyword) {
    2179         $keyword = str_replace("?@", " ", $keyword);
    2180         $keyword_list = explode(" ", $keyword);
    2181            
    2182         for($i=0;$i < count($keyword_list);$i++) {
    2183             $keyword = check_search_word( $keyword_list[$i] );
    2184                
    2185             $where .= " AND (ctc.body like ? ";
    2186             $where .= " OR ct.name like ? ";
    2187             $where .= " OR c.name like ? ) ";
    2188             $params[]="%$keyword%";
    2189             $params[]="%$keyword%";
    2190             $params[]="%$keyword%";
    2191         }
     2217        $keyword = str_replace(' ', ' ', $keyword);
     2218        $keyword_list = explode(' ', $keyword);
     2219
     2220        for ($i = 0; $i < count($keyword_list); $i++) {
     2221            $keyword = check_search_word($keyword_list[$i]);
     2222
     2223            $wheres[] = '(ctc.body like ? OR ct.name like ? OR c.name like ?)';
     2224            $params[] = '%' . $keyword . '%';
     2225            $params[] = '%' . $keyword . '%';
     2226            $params[] = '%' . $keyword . '%';
     2227        }
     2228    }
     2229   
     2230    if ($wheres) {
     2231        $where = ' WHERE ' . implode(' AND ', $wheres);
     2232    } else {
     2233        $where = '';
    21922234    }
    21932235   
     
    22762318    $page_size = intval($page_size);
    22772319   
    2278     $where = " where true ";
     2320    $wheres = array();
    22792321
    22802322    if ($keyword) {
    22812323        //全角空白を半角に統一
    2282         $keyword = str_replace(" ", " ", $keyword);
    2283         $keyword_list = explode(" ", $keyword);
    2284            
    2285         for($i=0;$i < count($keyword_list);$i++) {
    2286             $keyword = check_search_word( $keyword_list[$i] );
    2287                
    2288             $where .= " and c_review_comment.body like ? ";
    2289             $params[]="%$keyword%";
    2290         }
     2324        $keyword = str_replace(' ', ' ', $keyword);
     2325        $keyword_list = explode(' ', $keyword);
     2326
     2327        for ($i = 0; $i < count($keyword_list); $i++) {
     2328            $keyword = check_search_word($keyword_list[$i]);
     2329
     2330            $wheres[] = 'c_review_comment.body like ?';
     2331            $params[] = '%' . $keyword . '%';
     2332        }
     2333    }
     2334   
     2335    if ($wheres) {
     2336        $where = ' WHERE ' . implode(' AND ', $wheres);
     2337    } else {
     2338        $where = '';
    22912339    }
    22922340   
  • OpenPNE/trunk/webapp_biz/modules/biz/lib/mysql_functions.php

    r4231 r4272  
    374374    //keywordあり
    375375    if ($keyword) {
    376         $where = ' WHERE true AND (info LIKE ? OR name LIKE ?) ORDER BY biz_group_id';
     376        $where = ' WHERE info LIKE ? OR name LIKE ? ORDER BY biz_group_id';
    377377        $sql = 'SELECT * FROM biz_group'. $where;
    378378
     
    534534    $contain = array();
    535535
    536     $sql = 'SELECT biz_schedule_id FROM biz_schedule WHERE true AND (begin_date LIKE \''.$y.'-'.$m.'%\' OR finish_date LIKE \''.$y.'-'.$m.'%\') AND begin_date != finish_date';
     536    $sql = 'SELECT biz_schedule_id FROM biz_schedule WHERE (begin_date LIKE \''.$y.'-'.$m.'%\' OR finish_date LIKE \''.$y.'-'.$m.'%\') AND begin_date != finish_date';
    537537    $tmp = db_get_all($sql, $params);
    538538
Note: See TracChangeset for help on using the changeset viewer.