source: temp/trunk/html/test/kakinaka/mysql.php @ 4938

Revision 4938, 5.5 KB checked in by kakinaka, 20 years ago (diff)

blank

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