While most dayparts enjoy an accuracy rate around or above last year’s benchmark group (87.2 percent), the dinner daypart came in well below, perhaps because of the complexity of dinner orders.
array( 'sort_dir' => 'asc', 'indicator' => '', 'label' => 'Daypart', ), 'pct_accurate' => array( 'sort_dir' => 'asc', 'indicator' => '', 'label' => 'Percent Accurate', ), 'count' => array( 'sort_dir' => 'asc', 'indicator' => '', 'label' => 'Count', ), ); if ( isset( $_GET['sort'] ) && in_array( $_GET['sort'], array_keys( $headers ) ) ) { $sort_field = $_GET['sort']; } else { $sort_field = 'daypart'; } if ( isset( $_GET['dir'] ) && in_array( $_GET['dir'], array( 'asc', 'desc' ) ) ) { $sort_dir = $_GET['dir']; } else { $sort_dir = 'asc'; } $opposite_dir = ( $sort_dir == 'asc' ) ? 'desc' : 'asc'; $headers[$sort_field]['sort_dir'] = $opposite_dir; $headers[$sort_field]['indicator'] = theme_tablesort_indicator( array( 'style' => $sort_dir ) ); $header_cols = array(); foreach ( $headers as $field => $field_data ) { $header_cols[] = array( 'data' => l( $field_data['label'], $_GET['q'], array( 'query' => array( 'sort' => $field, 'dir' => $field_data['sort_dir'] ) ) ) . $field_data['indicator'], 'class' => 'header', ); } $table_rows = array(); $table_rows[] = $header_cols; /* begin of function area */ $values = array(); foreach ( $the_data as $id => $value ) { $values[$id] = $value->$sort_field; } if ( $sort_field == 'daypart' ) { uasort( $values, function ( $a, $b ) { $v = array( 'breakfast' => 1, 'lunch' => 2, 'snack' => 3, 'dinner' => 4, 'late night' => 5, ); $an = $v[strtolower( $a )]; $bn = $v[strtolower( $b )]; return ( $an $value ) { $data_cells = array(); foreach ( $headers as $field => $field_data ) { $cell_data = $the_data[$key]->$field; if ( $field == 'pct_accurate' ) { $cell_data .= '%'; } $classes = $field; if ( $field == $sort_field ) { $classes .= ' sorted'; } $data_cells[] = array( 'data' => $cell_data, 'class' => $classes ); } $table_rows[] = $data_cells; } /* end of functional area */ // summary $table_rows[] = array( 'data' => array( 'Summary', '87.2%', '1,909' ), 'class' => array( 'total-row' ), ); print theme( 'table', array( 'header' => array(), 'rows' => $table_rows, 'attributes' => array( 'id' => 'datatable' ) ) ); ?>