พอดีว่าผมไปเจอโจทย์ในการแก้ปัญหาด้วย PHP & MySQL โดยโจทย์มีดังนี้
เกี่ยวกับเรื่อง ฐานข้อมูล กับ ตาราง
ตอนนี้มีตารางข้อมูล ที่ได้มาโดยการ select
itemlist_id item name quantity capacity user_id slot use
5 ข้าวโพด 2 15 1 1
32 ขี้ไก่ 9 50 1 1
76 ปลากระโทงแทง 6 5 1 2
79 ปลาฉลาม 2 1 1 2
168 เกลือ 1 50 1 1
*quantity คือ จำนวนของฐานของมูลขอลแต่ละ item name ได้มาจากการ count
capacity คือ จำนวนความจุ ที่ตั้งใจจะนำไปแบ่งแต่ละcell
slot use = ceil(capacity/quantity)
โดยจะนำข้อมูลทั้งหมดไปใส่ในตารางที่ผ่านการ loop
สิ่งที่ตั้งใจทำก็คือ จะแบ่งช่องของสิ่งของเหล่านี้ โดยให้ค่า quantity ไม่เกิน capacity ในแต่ละช่อง
ถ้าสำเร็จผลที่ได้รับคือ
ข้าวโพด2 ขี้ไก่9 ปลาฯ5 ปลาฯ1 ปลาฉลาม1 ปลาฉลาม1 เกลือ1
พอดีว่าผมขี้เกียจสร้าง database เพื่อแก้ปัญหาเลยขอประยุกต์ด้วย Array สำหรับใครที่ต้องการจะเอาไปใช้กับ database อื่นๆก็ดัดแปลงดูแล้วกันครับ
< ?
$data[0] = array('itemlist_id'=>5,'item_name'=>'ข้าวโพด','quantity'=>2,'capacity'=>15,'user_id'=>1,'slot_use'=>1) ;
$data[1] = array('itemlist_id'=>32,'item_name'=>'ขี้ไก่','quantity'=>9,'capacity'=>50,'user_id'=>1,'slot_use'=>1) ;
$data[2] = array('itemlist_id'=>76,'item_name'=>'ปลากระโทงแทง','quantity'=>6,'capacity'=>5,'user_id'=>1,'slot_use'=>2) ;
$data[3] = array('itemlist_id'=>79,'item_name'=>'ปลาฉลาม','quantity'=>2,'capacity'=>1,'user_id'=>1,'slot_use'=>2) ;
$data[4] = array('itemlist_id'=>168,'item_name'=>'เกลือ','quantity'=>1,'capacity'=>50,'user_id'=>1,'slot_use'=>1) ;
if(is_array($data))
{
// read from data I
foreach($data as $row)
{
while($row['quantity'] > 0)
{
$quantity = ($row['quantity'] > $row['capacity'] ? $row['capacity'] : $row['quantity'] ) ;
$row['quantity'] -= $quantity ;
// insert to data II
$data2[] = array('itemlist_id'=>$row['itemlist_id'],'item_name'=>$row['item_name'],'quantity'=>$quantity,'capacity'=>$row['capacity'],'user_id'=>$row['user_id'],'slot_use'=>1) ;
echo 'itemlist_id=>',$row['itemlist_id'],', item_name=>',$row['item_name'],', quantity=>',$quantity,', capacity=>',$row['capacity'],', user_id=>',$row['user_id'],', slot_use=>',1 , "";
}
}
}
?>


����������� หลังจากเป็นที่ฮือหากับการเปิดตัวของ browser เจ้าใหม่แต่ชื่อไม่ใหม่อย่าง Google Chrome ของค่ายยักษ์ใหญ่อย่าง Google ที่ทำอะไรก็รุ่งไปหมด ทำให้ตลาดของ browser ตื่นตัวขึ้นอีกครั้งซึ่งเรื่องนั้นเราไม่พูดถึงเราจะมาพูดถึงเรื่องที่เราถนัดดีกว่านั้นก็คือเรื่องของการเขียนโปรแกรม
สำหรับโครงการนี้ในทางฟิสิกส์ผมไม่รู้เรื่องอะไรมากนักเพราะผมไม่ใช่นักฟิสิกส์ หลายคนออกมาให้ความเห็นว่าโครงการนี้จะทำให้เกิดวันสิ้นโลกเพราะหลุมดำที่เกิดจากการเดินเครื่อง LHC แต่ในความรู้สึกของผมมันอาจจะเป็นเครื่องต้นแบบของเครื่องย้อนเวลาก็เป็นได้เพราะในประวัติศาสตร์ทางวิทยาศาสตร์ของโลก ทฤษฎีหลายตัวค้นพบโดยฟลุคๆ ไม่แน่ว่าเครื่อง LHC อาจจะเป็นเครื่องย้อนเวลาอย่างฟลุคๆใครจะไปรู้ เห่อๆ กลับมาที่เรื่องที่ผมสนใจดีกว่าจากที่ได้ศึกษาข้อมูลของ LHC พบว่าในการเดินเครื่อง LHC จะมีข้อมูลที่ได้จากการชนของอนุภาคประมาณ 300 GB/S (จิกะไบต์ ต่อ วินาที) นับว่าเป็นข้อมูลมหาศาลเลยที่เดียวและเพื่อเป็นการรองรับข้อมูลขนาด 10-15 petabytes ต่อปี [2] (ประมาณ 15 ล้านกิกะไบต์) “เซิร์น” (CERN) องค์กรความร่วมมือระหว่างประเทศในทวีปยุโรปเพื่อวิจัยและพัฒนาทางด้านนิวเคลียร์ (European Center for Nuclear Research) ได้สร้างเครือข่ายเส้นทางคอมพิวเตอร์ เพื่อแชร์ทรัพยากร หรือ “คอมพิวเตอร์กริด” (Computer Grid) เชื่อมกับศูนย์คอมพิวเตอร์ชั้นนำทั่วโลก โดยโยงกันกว่า 60,000 เครื่อง เพื่อช่วยในการประมวลผลที่จะได้จากการทดลองโดยให้ชื่อว่า “LHC Computing Grid” โดยข้อมูลจากเครื่องตรวจจับอนุภาค จะส่งผ่านสายไฮสปีดสู่สถาบันวิจัยชั้นนำ 11 แห่ง ทั้งในยุโรป, อเมริกาเหนือ และเอเชีย จากนั้น ทั้ง 11 แห่งจะส่งต่อไปตามหน่วยวิจัยต่างๆ อีก 150 แห่งทั่วโลก พร้อมความร่วมมือจากนักวิจัยหลายพันที่หน้าจอคอมพิวเตอร์ [3] นับว่าเป็นการก้าวกระโดดที่สำคัญของวงการคอมพิวเตอร์เลยทีเดียว และต่อไปเทคโนโลยี Grid ก็จะเป็นถูกใช้อย่างกว้างขวางในวงการวิจัยต่างๆแน่นอน
