ช่วยเรื่อง array หน่อยค่ะ ต้องการรวมข้อมูล filed ที่เหมือนกันไว้ด้วยกันค่ะ
คือ ต้องการดึง array ออกมา โดยข้อมูลที่เหมือนกันให้เอามารวมกันอ่ะค่ะ
เช่น
ดึงข้อมูลจากดาต้าเบต ออกมาในรูปแบบ array ได้ตามนี้ออกมาอ่ะค่ะ
Code
Array(
[0] =>Array ( [busnumber] => test1 [stopid] => 3 [stopdesc] => test3 [stoplat] => 13.86908 [stoplong] => 100.111198 )
[1] => Array ( [busnumber] => test2 [stopid] => 3 [stopdesc] => test3 [stoplat] => 13.86908 [stoplong] => 100.111198 )
[2] => Array ( [busnumber] => test3 [stopid] => 3 [stopdesc] => test3 [stoplat] => 13.86908 [stoplong] => 100.111198 )
[3] => Array ( [busnumber] => test4 [stopid] => 4 [stopdesc] => test4 [stoplat] => 13.91040 [stoplong] => 100.158577 )
[4] => Array ( [busnumber] => test5 [stopid] => 4 [stopdesc] => test4 [stoplat] => 13.91040 [stoplong] => 100.158577 )
)
เมื่อ encode มาให้รูปแบบ JSON จะได้ตามนี้
Code
[
{"busnumber":"test1","stopid":"3","stopdesc":"test3","stoplat":"13.86908","stoplong":"100.111198"},{"busnumber":"test2","stopid":"3","stopdesc":"test3","stoplat":"13.86908","stoplong":"100.111198"},{"busnumber":"test3","stopid":"3","stopdesc":"test3","stoplat":"13.86908","stoplong":"100.111198"},
{"busnumber":"test4","stopid":"4","stopdesc":"test3","stoplat":"13.91040","stoplong":"100.158577"},{"busnumber":"test5","stopid":"4","stopdesc":"test3","stoplat":"13.91040","stoplong":"100.158577"}
]
สังเกตว่า
arrayตัวที่ 0 1 2 record จะมีข้อมูลตรง field busnumber อย่างเดียวที่แตกต่างกัน นอกนั้น field อื่นเหมือนกัน และ
arrayตัวที่ 3 4 record จะมีข้อมูลตรง field busnumber อย่างเดียวที่แตกต่างกัน นอกนั้น field อื่นเหมือนกันเช่นกัน
แล้วถ้าต้องการให้รวม field ที่เหมือนกัน
ถ้าต้องการให้แสดงข้อมูลออกมาให้ ในรูปแบบตามนี้ รวมข้อมูลที่เหมือนกันไว้ ส่วนที่ต่างให้เอา , คั่น
Code
[
{"busnumber":"test1,test2,test3","stopid":"3","stopdesc":"test3","stoplat":"13.86908","stoplong":"100.111198"},{"busnumber":"test4,test5","stopid":"4","stopdesc":"test3","stoplat":"13.91040","stoplong":"100.158577"}
]
จะต้องทำอย่างไรค่ะ
โค้ดที่เขียนตอนนี้ได้แค่
Code (PHP)
<?
$objConnect = mysql_connect("localhost","thanapor_bus","busproject") or die("Error Connect to Database");
$objDB = mysql_select_db("thanapor_bus");
$strSql="SELECT businfo.busnumber ,busstopinfo.stopid ,busstopinfo.stopdesc , busstopinfo.stoplat ,busstopinfo.stoplong FROM businfo
INNER JOIN businfo_busstopinfo ON businfo.busid = businfo_busstopinfo.busid
INNER JOIN busstopinfo ON busstopinfo.stopid =businfo_busstopinfo.stopid
WHERE (stopdesc like '%".$data."%')";
$query = mysql_query($strSql);
$num = mysql_num_rows($query);
$resultArray = array();
for ($i = 0;$i<$num;$i++)
{
$result = mysql_fetch_assoc($query);
array_push($resultArray,$result);
}
print_r (json_encode($resultArray));
ขอบคุณค่ะTag : PHP, MySQL
ประวัติการแก้ไข 2012-01-05 11:43:16 2012-01-05 14:08:23
Date :
2012-01-05 11:42:43
By :
momopat
View :
870
Reply :
1
เขียน UNION บน Query ไม่ได้เหรอครับ อีกตัวหนึ่งก็ UNION ALL
Date :
2012-01-05 18:02:52
By :
webmaster
Load balance : Server 00