Update ค่าหลายๆแถว ที่มีค่าต่างๆกัน พร้อมๆกัน ใน MYSQL by plug.in

27
May
0

ปัญหา

ต้องการอัพเดต หลายๆแถวใน database ที่แต่ละแถวมีค่าต่างๆกันไป โดยใช้ Query เดียว

เพราะถ้าหากใช้แบบปกติ จะกินทรัพยากรสูงมากต่อการ update 1 ครั้ง

Flow control (IF/CASE) ใน Mysql by plug.in

30
Nov
0

Flow control ใน Mysql

อ้างอิงจาก http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html

คืออะไร? ทำไมต้องใช้?

บางครั้งแม้มันจะง่ายและเร็วกว่า ที่จะทำส่วนคำนวณใน Php ก่อนแล้วค่อยมาทำ Query ใน Mysql แต่ในบางกรณีเล็กๆน้อย หรือบางครั้งที่ต้องการการ Customize โดยไม่ต้องเขียนโค้ดเพิ่ม การเขียน IF/Case เข้าไปใน Mysql ก็สร้างความสะดวกได้มาก

SQL - Query เพื่อทำการจัด Rank ของข้อมูล by plug.in

20
Jul
0

จาก http://www.1keydata.com/sql/sql-rank.html

Table Total_Sales

Name Sales
John 10
Jennifer 15
Stella 20
Sophia 40
Greg 50
Jeff 20

SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_Rank FROM Total_Sales a1, Total_Sales a2 WHERE a1.Sales <= a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name) GROUP BY a1.Name, a1.Sales ORDER BY a1.Sales DESC, a1.Name DESC;

Result:

Name Sales Sales_Rank
Greg 50 1
Sophia 40 2
Stella 20 3
Jeff 20 3
Jennifer 15 5
John 10 6

ถ้าอยากให้เรียงลำดับโดยไม่มีข้ามให้แก้เป็น SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_Rank FROM Total_Sales a1, Total_Sales a2 WHERE a1.Sales < a2.Sales or (a1.Sales=a2.Sales and a1.Name >= a2.Name) GROUP BY a1.Name, a1.Sales ORDER BY a1.Sales DESC, a1.Name ASC;

CI : ใช้ Query String กับ CodeIgniter by plug.in

12
May
0

Refer : http://www.askaboutphp.com/tutorials/58/codeigniter-mixing-segment-based-url-with-querystrings.html

Codeigniter ตามปกติจะไม่สามารถใช้งาน URL โดยมีตัวแปน GET (Query String) ได้

หากต้องการให้ใช้งานได้มีสองวิธี

1. Global

ตั้งค่าใน Config.php ตามนี้
$config['uri_protocol'] = “PATH_INFO”; $config['enable_query_strings'] = TRUE;

2. Local

แบบ global จะมีปัญหาเล็กน้อยเรื่องตัวแปรชื่อ c , m , d ซึ่งเป็น default สำหรับเรียก controller เมื่อ

แบบ local จะตั้งค่าใน Config.php ตามนี้$config['enable_query_strings'] = FALSE; $config['uri_protocol'] = “PATH_INFO”;

และใน Controller Initialize ให้แทรกบรรทัดนี้ parse_str($_SERVER['QUERY_STRING'],$_GET);