我有一个API调用.该调用返回XML,我将XML转换为数组,然后使用json_encode在jsonp调用中发回响应.我正在做的是工作,但API不允许我按状态过滤,按开始和结束时间过滤,并确保房间可用.
几个jsponp调用让它变得疯狂.再一次,我所拥有的是工作,但我需要找到一种方法来再次使用我的结果过滤.我已经返回了正确的状态和正确的日期,但我仍然需要过滤掉时间.如果时间目前是上午10点29分,我不想显示从上午10点半开始预订的房间,因为直到上午10点半才开始预订.因此,如果我当前的时间是上午10:29,我需要过滤我的数组中的事件,并且只显示具有当前时间的开始和结束时间的事件.
从上午10点到11点的预订应该留在我的阵列中,但是从下午2-4点开始的预订不应该出现在我的阵列中.正如我所说,数组首先是一个返回的XML文档,然后是一个数组,然后是JSON,所以在技术上我可以使用任何工作来过滤.PHP以XML格式过滤,PHP过滤数组.甚至Javascript也可以通过我的ajax调用来准备PHP文件.
在我将其转换为JSON并返回之前,这是我的数组.我过滤的时间应该是TimeEventStart和TimeEventEnd.我可以使用当前的Javascript时间或PHP日期函数时间.我可以过滤数组或使用类似XMLPath的东西进行过滤.不确定什么是最有效的,最好的.
$axml = Array{
"Bookings":{
"Data":[
{
"BookingDate":[
"2014-05-09T00:00:00"
],
"RoomDescription":[
"Room06"
],
"TimeEventStart":[
"2014-05-09T14:00:00"
],
"TimeEventEnd":[
"2014-05-09T14:30:00"
],
"EventName":[
"Jake Long"
],
"SetupTypeDescription":[
"(none)"
],
"ReservationID":[
"137"
],
"OpenTime":[
"1900-01-01T00:00:00"
],
"CloseTime":[
"1900-01-01T00:00:00"
],
"EventTypeDescription":[
[
]
],
"BookingID":[
"709"
],
"TimeBookingStart":[
"2014-05-09T14:00:00"
],
"TimeBookingEnd":[
"2014-05-09T14:30:00"
],
"GMTStartTime":[
"2014-05-09T18:00:00"
],
"GMTEndTime":[
"2014-05-09T18:30:00"
],
"TimeZone":[
"ET"
],
"RoomCode":[
"R06"
],
"Room":[
"Room 6"
],
"RoomID":[
"34"
],
"StatusID":[
"3"
],
"EventTypeID":[
"0"
],
"DateAdded":[
"2014-05-09T13:47:29.087"
],
"DateChanged":[ …Run Code Online (Sandbox Code Playgroud) 我不知道该怎么说。我正在学习React,并通过提取将数据加载到React-Table中。我尝试使用React-Table和仅自定义普通div和表。
我想从A,B,C,D ... Z创建字母的触摸按钮。这些按钮应调用按钮中字母的过滤器。因此,例如按钮如下。
// In Directory.js
class FilterButtons extends React.Component {
alphaFilter(e) {
console.log(e.target.id);
// somehow filter the react table
}
render() {
return (
<div>
<button onClick={this.alphaFilter} id="A" className="letter">A</button>
<button onClick={this.alphaFilter} id="B" className="letter">B</button>
<button onClick={this.alphaFilter} id="C" className="letter">C</button>
</div>
);
}
}
const BottomMenu = props => (
<div className="btm-menu">
<div className="toprow">
<div className="filter-keys">
<FilterButtons />
</div>
</div>
</div>
);
Run Code Online (Sandbox Code Playgroud)
//我有一个目录扩展类,其中包含BottomMenu
//我也有一个带有React Table的DataGrid.js
class DataGrid extends React.Component {
constructor() {
super();
this.state = {
data: [],
};
}
componentWillMount() …Run Code Online (Sandbox Code Playgroud)