|
|
|
ดึงข้อมูลที่ี update ล่าสุดขึ้นมาโชว์ยังไงคะ ข้อมูลจาก xml รบกวนด้วยคะ |
|
|
|
|
|
|
|
ไม่มีใครตอบเลย
|
|
|
|
|
Date :
2013-12-09 10:50:02 |
By :
Stockseii |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียนโปรแกรมตรวจสอบสิคับ ถ้าดึงได้แล้ว
เก็บใส่อาเรย์ก็ได้ ใช้ in_array() เช็คก็ได้คับ
|
|
|
|
|
Date :
2013-12-09 11:07:23 |
By :
pjgunner.com |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
loop คับ
ในลูป ก็ if คับถ้ามีข้อมูลเดิมอยุ่แล้ว ก็ตวจสอบวันที่ ถ้าไม่มีก็เพิ่มเข้าอาเรย์ที่เตรียมไว้
หากตรวจสอบวันที่แล้ว พบว่าใหม่กว่าก็ลบของเดิมแล้วเติมตัวใหม่ หรือจะอัพเดท ตัวเดิมเอาก็ได้
ตอนตรวจสอบว่าข้อมูลซ้ำหรือเปล่า(เฉพาะตรงชื่อสถานที่) มันมีตัวเลขด้วย ก็ให้ตัดตัวเลขกะspaceและ . ออก ก่อนก็ได้ หรือดูรูปแบบ ตัวอื่นประกอบเพื่อใช้วิธีอื่นก็ได้
|
ประวัติการแก้ไข 2013-12-09 11:32:32
|
|
|
|
Date :
2013-12-09 11:28:59 |
By :
pjgunner.com |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<?php
$s = '<?xml version="1.0"?>
<entries>
<entry>
<date>11/12/2013</date>
<action>Test1</action>
<user>Admin</user>
</entry>
<entry>
<date>20/12/2013</date>
<action>Test2</action>
<user>Admin</user>
</entry>
<entry>
<date>10/12/2013</date>
<action>Test3</action>
<user>Admin</user>
</entry>
</entries>';
$x = (array)simplexml_load_string($s);
array_walk_recursive($x,function(&$v){
$v=(array)$v;
});
$rows = array();
foreach($x['entry'] as $entry){
$d = explode('/',$entry['date']);
$date = vsprintf('%04d-%02d-%02d',array_reverse($d));
$rows[$date] = $entry;
}
ksort($rows);
echo '<pre>'; print_r($rows); echo '</pre>';
แปลงเป็น array โดย index เก็บเป็นวันที่แล้วจัดการด้วย ksort ครับ
สังเกตว่าจะมีการแปลงวันที่เพราะวันที่ที่จะสามารถนำมาเรียงได้จะต้องอยู่ใน format YYYY-MM-DD ครับ
ถ้าต้องการสลับลำดับก็เปลี่ยน ksort เป็น krsort ครับ
อ่านรอบสอบตอบผิดนี่หว่า ถามอย่างตอบอย่าง แหะๆ
|
ประวัติการแก้ไข 2013-12-09 20:31:58 2013-12-09 20:34:35
|
|
|
|
Date :
2013-12-09 20:23:41 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<?php
$s = '<?xml version="1.0"?>
<entries>
<entry>
<date>11/12/2013</date>
<action>Test1</action>
<user>Admin</user>
</entry>
<entry>
<date>20/12/2013</date>
<action>Test2</action>
<user>Admin</user>
</entry>
<entry>
<date>10/12/2013</date>
<action>Test3</action>
<user>Admin</user>
</entry>
<entry>
<date>31/12/2013</date>
<action>Test2</action>
<user>Admin2</user>
</entry>
<entry>
<date>1/12/2013</date>
<action>Test2</action>
<user>Admin9</user>
</entry>
</entries>';
$x = (array)simplexml_load_string($s);
array_walk_recursive($x,function(&$v){
$v=(array)$v;
});
$rows = array();
foreach($x['entry'] as $entry){
$d = explode('/',$entry['date']);
$date = vsprintf('%04d-%02d-%02d',array_reverse($d));
$rows[$date] = $entry;
}
krsort($rows);
//ตรวจสอบเอาเฉพาะค่าที่วันที่สูงสุดค่าเดียว
$items = array();
foreach($rows as $date=>$row){
if (!isset($items[$row['action']])){
$items[$row['action']] = $row;
}
}
echo '<pre>'; print_r($items); echo '</pre>';
แก้ไขครับ
|
ประวัติการแก้ไข 2013-12-09 21:02:00
|
|
|
|
Date :
2013-12-09 21:00:20 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|