| 1 | <?php |
|---|
| 2 | require_once './DB.php'; // PEAR ¤Î DB ¥¯¥é¥¹¤òÆÉ¤ß¹þ¤à |
|---|
| 3 | |
|---|
| 4 | // ViewÊÑ´¹ÍÑ(MySQLÂбþ) |
|---|
| 5 | $arrView = array( |
|---|
| 6 | "vw_cross_class" => ' |
|---|
| 7 | (SELECT T1.class_id AS class_id1, T2.class_id AS class_id2, T1.classcategory_id AS classcategory_id1, T2.classcategory_id AS classcategory_id2, T1.name AS name1, T2.name AS name2, T1.rank AS rank1, T2.rank AS rank2 |
|---|
| 8 | FROM dtb_classcategory AS T1, dtb_classcategory AS T2 ) vw_cross_class ', |
|---|
| 9 | |
|---|
| 10 | "vw_cross_products_class" =>' |
|---|
| 11 | (SELECT T1.class_id1, T1.class_id2, T1.classcategory_id1, T1.classcategory_id2, T2.product_id, |
|---|
| 12 | T1.name1, T1.name2, T2.product_code, T2.stock, T2.price01, T2.price02, T1.rank1, T1.rank2 |
|---|
| 13 | FROM vw_cross_class AS T1 LEFT JOIN dtb_products_class AS T2 |
|---|
| 14 | ON T1.classcategory_id1 = T2.classcategory_id1 AND T1.classcategory_id2 = T2.classcategory_id2) vw_cross_products_class ', |
|---|
| 15 | |
|---|
| 16 | "vw_products_nonclass" => ' |
|---|
| 17 | (SELECT * FROM dtb_products AS T1 LEFT JOIN |
|---|
| 18 | (SELECT |
|---|
| 19 | product_id AS product_id_sub, |
|---|
| 20 | product_code, |
|---|
| 21 | price01, |
|---|
| 22 | price02, |
|---|
| 23 | stock, |
|---|
| 24 | stock_unlimited, |
|---|
| 25 | classcategory_id1, |
|---|
| 26 | classcategory_id2 |
|---|
| 27 | FROM dtb_products_class WHERE classcategory_id1 = 0 AND classcategory_id2 = 0) |
|---|
| 28 | AS T2 |
|---|
| 29 | ON T1.product_id = T2.product_id_sub) vw_products_nonclass ', |
|---|
| 30 | |
|---|
| 31 | "vw_products_allclass" => ' |
|---|
| 32 | (SELECT |
|---|
| 33 | product_id, |
|---|
| 34 | product_code_min, |
|---|
| 35 | product_code_max, |
|---|
| 36 | price01_min, |
|---|
| 37 | price01_max, |
|---|
| 38 | price02_min, |
|---|
| 39 | price02_max, |
|---|
| 40 | stock_min, |
|---|
| 41 | stock_max, |
|---|
| 42 | stock_unlimited_min, |
|---|
| 43 | stock_unlimited_max, |
|---|
| 44 | del_flg, |
|---|
| 45 | status, |
|---|
| 46 | name, |
|---|
| 47 | comment1, |
|---|
| 48 | comment2, |
|---|
| 49 | comment3, |
|---|
| 50 | rank, |
|---|
| 51 | main_list_comment, |
|---|
| 52 | main_image, |
|---|
| 53 | main_list_image, |
|---|
| 54 | product_flag, |
|---|
| 55 | deliv_date_id, |
|---|
| 56 | sale_limit, |
|---|
| 57 | point_rate, |
|---|
| 58 | sale_unlimited, |
|---|
| 59 | create_date, |
|---|
| 60 | deliv_fee |
|---|
| 61 | ,(SELECT rank AS category_rank FROM dtb_category AS T4 WHERE T1.category_id = T4.category_id) |
|---|
| 62 | ,(SELECT category_id AS sub_category_id FROM dtb_category T4 WHERE T1.category_id = T4.category_id) |
|---|
| 63 | FROM |
|---|
| 64 | dtb_products AS T1 RIGHT JOIN (SELECT product_id AS product_id_sub, MIN(product_code) AS product_code_min, MAX(product_code) AS product_code_max, MIN(price01) AS price01_min, MAX(price01) AS price01_max, MIN(price02) AS price02_min, MAX(price02) AS price02_max, MIN(stock) AS stock_min, MAX(stock) AS stock_max, MIN(stock_unlimited) AS stock_unlimited_min, MAX(stock_unlimited) AS stock_unlimited_max FROM dtb_products_class GROUP BY product_id) AS T2 ON T1.product_id = T2.product_id_sub |
|---|
| 65 | ) chvw_products_allclass ', |
|---|
| 66 | |
|---|
| 67 | "vw_products_allclass_detail" => ' |
|---|
| 68 | (SELECT product_id,price01_min,price01_max,price02_min,price02_max,stock_min,stock_max,stock_unlimited_min,stock_unlimited_max, |
|---|
| 69 | del_flg,status,name,comment1,comment2,comment3,deliv_fee,main_comment,main_image,main_large_image, |
|---|
| 70 | sub_title1,sub_comment1,sub_image1,sub_large_image1, |
|---|
| 71 | sub_title2,sub_comment2,sub_image2,sub_large_image2, |
|---|
| 72 | sub_title3,sub_comment3,sub_image3,sub_large_image3, |
|---|
| 73 | sub_title4,sub_comment4,sub_image4,sub_large_image4, |
|---|
| 74 | sub_title5,sub_comment5,sub_image5,sub_large_image5, |
|---|
| 75 | product_flag,deliv_date_id,sale_limit,point_rate,sale_unlimited,file1,file2,category_id |
|---|
| 76 | FROM (dtb_products AS T1 RIGHT JOIN |
|---|
| 77 | (SELECT |
|---|
| 78 | product_id AS product_id_sub, |
|---|
| 79 | MIN(price01) AS price01_min, |
|---|
| 80 | MAX(price01) AS price01_max, |
|---|
| 81 | MIN(price02) AS price02_min, |
|---|
| 82 | MAX(price02) AS price02_max, |
|---|
| 83 | MIN(stock) AS stock_min, |
|---|
| 84 | MAX(stock) AS stock_max, |
|---|
| 85 | MIN(stock_unlimited) AS stock_unlimited_min, |
|---|
| 86 | MAX(stock_unlimited) AS stock_unlimited_max |
|---|
| 87 | FROM dtb_products_class GROUP BY product_id) AS T2 |
|---|
| 88 | ON T1.product_id = T2.product_id_sub) AS T3 LEFT JOIN (SELECT rank AS category_rank, category_id AS sub_category_id FROM dtb_category) AS T4 |
|---|
| 89 | ON T3.category_id = T4.sub_category_id) vw_products_allclass_detail ', |
|---|
| 90 | |
|---|
| 91 | "vw_product_class" => ' |
|---|
| 92 | (SELECT * FROM |
|---|
| 93 | (SELECT T3.product_class_id, T3.product_id AS product_id_sub, classcategory_id1, classcategory_id2, |
|---|
| 94 | T3.rank AS rank1, T4.rank AS rank2, T3.class_id AS class_id1, T4.class_id AS class_id2, |
|---|
| 95 | stock, price01, price02, stock_unlimited, product_code |
|---|
| 96 | FROM (dtb_products_class AS T1 LEFT JOIN dtb_classcategory AS T2 |
|---|
| 97 | ON T1.classcategory_id1 = T2.classcategory_id) |
|---|
| 98 | AS T3 LEFT JOIN dtb_classcategory AS T4 |
|---|
| 99 | ON T3.classcategory_id2 = T4.classcategory_id) AS T5 LEFT JOIN dtb_products AS T6 |
|---|
| 100 | ON product_id_sub = T6.product_id) vw_product_class ', |
|---|
| 101 | |
|---|
| 102 | "vw_category_count" => ' |
|---|
| 103 | (SELECT T1.category_id, T1.category_name, T1.parent_category_id, T1.level, T1.rank, T2.product_count |
|---|
| 104 | FROM dtb_category AS T1 LEFT JOIN dtb_category_total_count AS T2 |
|---|
| 105 | ON T1.category_id = T2.category_id) vw_category_count ' |
|---|
| 106 | ); |
|---|
| 107 | |
|---|
| 108 | print("start<br>"); |
|---|
| 109 | /* |
|---|
| 110 | $dsn = "mysql://eccube_db_user:[email protected]/eccube_db"; |
|---|
| 111 | print($dsn."<br>"); |
|---|
| 112 | |
|---|
| 113 | if(($db = DB::connect($dsn)) == 0){ |
|---|
| 114 | print "¤ª¤ª¤Ã¤È¡ª¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÀܳ¤Ç¤¤Þ¤»¤ó¡£"; |
|---|
| 115 | } |
|---|
| 116 | $result = $db->query("select * from dtb_baseinfo"); |
|---|
| 117 | while($row = $result->fetchRow()){ |
|---|
| 118 | print_r($row); |
|---|
| 119 | } |
|---|
| 120 | |
|---|
| 121 | */ |
|---|
| 122 | |
|---|
| 123 | $sql = ' |
|---|
| 124 | (SELECT |
|---|
| 125 | product_id, |
|---|
| 126 | product_code_min, |
|---|
| 127 | product_code_max, |
|---|
| 128 | price01_min, |
|---|
| 129 | price01_max, |
|---|
| 130 | price02_min, |
|---|
| 131 | price02_max, |
|---|
| 132 | stock_min, |
|---|
| 133 | stock_max, |
|---|
| 134 | stock_unlimited_min, |
|---|
| 135 | stock_unlimited_max, |
|---|
| 136 | del_flg, |
|---|
| 137 | status, |
|---|
| 138 | name, |
|---|
| 139 | comment1, |
|---|
| 140 | comment2, |
|---|
| 141 | comment3, |
|---|
| 142 | rank, |
|---|
| 143 | main_list_comment, |
|---|
| 144 | main_image, |
|---|
| 145 | main_list_image, |
|---|
| 146 | product_flag, |
|---|
| 147 | deliv_date_id, |
|---|
| 148 | sale_limit, |
|---|
| 149 | point_rate, |
|---|
| 150 | sale_unlimited, |
|---|
| 151 | create_date, |
|---|
| 152 | deliv_fee |
|---|
| 153 | ,(SELECT rank AS category_rank FROM dtb_category AS T4 WHERE T1.category_id = T4.category_id) |
|---|
| 154 | ,(SELECT category_id AS sub_category_id FROM dtb_category T4 WHERE T1.category_id = T4.category_id) |
|---|
| 155 | FROM |
|---|
| 156 | vw_products_allclass, dtb_products AS T1 RIGHT JOIN (SELECT product_id AS product_id_sub, MIN(product_code) AS product_code_min, MAX(product_code) AS product_code_max, MIN(price01) AS price01_min, MAX(price01) AS price01_max, MIN(price02) AS price02_min, MAX(price02) AS price02_max, MIN(stock) AS stock_min, MAX(stock) AS stock_max, MIN(stock_unlimited) AS stock_unlimited_min, MAX(stock_unlimited) AS stock_unlimited_max FROM dtb_products_class GROUP BY product_id) AS T2 ON T1.product_id = T2.product_id_sub |
|---|
| 157 | ) cng_vw_products_allclass '; |
|---|
| 158 | |
|---|
| 159 | //print(preg_replace("/[\r\n\t]/"," ",$sql)); |
|---|
| 160 | // print(eregi_replace("(ILIKE )", "LIKE BINARY ", $sql)); |
|---|
| 161 | |
|---|
| 162 | print(sfInArray($sql)); |
|---|
| 163 | |
|---|
| 164 | print("end"); |
|---|
| 165 | |
|---|
| 166 | // ÇÛÎó¤ÎÃæ¤Ë¥Ç¡¼¥¿¤¬Â¸ºß¤·¤Æ¤¤¤ë¤«¥Á¥§¥Ã¥¯¤ò¹Ô¤¦(Âçʸ»ú¾®Ê¸»ú¤Î¶èÊ̤ʤ·) |
|---|
| 167 | function sfInArray($sql){ |
|---|
| 168 | global $arrView; |
|---|
| 169 | |
|---|
| 170 | foreach($arrView as $key => $val){ |
|---|
| 171 | if (stristr($sql, $val) != ""){ |
|---|
| 172 | $changesql = eregi_replace("($key)", "$val", $sql); |
|---|
| 173 | sfInArray($changesql); |
|---|
| 174 | } |
|---|
| 175 | } |
|---|
| 176 | |
|---|
| 177 | return $sql; |
|---|
| 178 | } |
|---|
| 179 | ?> |
|---|