$lastpage){ $pageno = $lastpage; } //construct the LIMIT clause for the sql SELECT statement if(!empty($numrows)){ $limit = 'LIMIT ' .($pageno - 1) * $rows_per_page .',' .$rows_per_page; } /*****End Pagination code *******/ //get form name $query = "select form_name from `ap_forms` where form_id='$form_id'"; $result = do_query($query); $row = do_fetch_result($result); $form_name = $row['form_name']; $max_data_length = 80; //maximum length of column header and content //get form element options $query = "select element_id,option_id,`option` from ap_element_options where form_id='$form_id' and live=1 order by element_id,option_id asc"; $result = do_query($query); while($row = do_fetch_result($result)){ $element_id = $row['element_id']; $option_id = $row['option_id']; //limit the data length if(strlen($row['option']) > $max_data_length){ $element_option_lookup[$element_id][$option_id] = htmlspecialchars(substr($row['option'],0,$max_data_length).'...',ENT_QUOTES); }else{ $element_option_lookup[$element_id][$option_id] = htmlspecialchars($row['option'],ENT_QUOTES); } } /******************************************************************************************/ //prepare column header names lookup $query = "select element_id,element_title,element_type,element_constraint from `ap_form_elements` where form_id='$form_id' order by element_position asc"; $result = do_query($query); while($row = do_fetch_result($result)){ $element_type = $row['element_type']; $element_constraint = $row['element_constraint']; //limit the title length if(strlen($row['element_title']) > $max_data_length){ $row['element_title'] = substr($row['element_title'],0,$max_data_length).'...'; } $row['element_title'] = htmlspecialchars($row['element_title']); if('address' == $element_type){ //address has 6 fields $column_name_lookup['element_'.$row['element_id'].'_1'] = $row['element_title'].' - Dirección'; $column_name_lookup['element_'.$row['element_id'].'_2'] = 'Dirección (línea 2)'; $column_name_lookup['element_'.$row['element_id'].'_3'] = 'Ciudad'; $column_name_lookup['element_'.$row['element_id'].'_4'] = 'Provincia/Región/Estado'; $column_name_lookup['element_'.$row['element_id'].'_5'] = 'Código postal'; $column_name_lookup['element_'.$row['element_id'].'_6'] = 'País'; $column_type_lookup['element_'.$row['element_id'].'_1'] = $row['element_type']; $column_type_lookup['element_'.$row['element_id'].'_2'] = $row['element_type']; $column_type_lookup['element_'.$row['element_id'].'_3'] = $row['element_type']; $column_type_lookup['element_'.$row['element_id'].'_4'] = $row['element_type']; $column_type_lookup['element_'.$row['element_id'].'_5'] = $row['element_type']; $column_type_lookup['element_'.$row['element_id'].'_6'] = $row['element_type']; }elseif ('simple_name' == $element_type){ //simple name has 2 fields $column_name_lookup['element_'.$row['element_id'].'_1'] = $row['element_title'].' - Primer nombre'; $column_name_lookup['element_'.$row['element_id'].'_2'] = $row['element_title'].' - Segundo nombre'; $column_type_lookup['element_'.$row['element_id'].'_1'] = $row['element_type']; $column_type_lookup['element_'.$row['element_id'].'_2'] = $row['element_type']; }elseif ('name' == $element_type){ //name has 4 fields $column_name_lookup['element_'.$row['element_id'].'_1'] = $row['element_title'].' - Título'; $column_name_lookup['element_'.$row['element_id'].'_2'] = $row['element_title'].' - Primer nombre'; $column_name_lookup['element_'.$row['element_id'].'_3'] = $row['element_title'].' - Segundo nombre'; $column_name_lookup['element_'.$row['element_id'].'_4'] = $row['element_title'].' - Sufijo'; $column_type_lookup['element_'.$row['element_id'].'_1'] = $row['element_type']; $column_type_lookup['element_'.$row['element_id'].'_2'] = $row['element_type']; $column_type_lookup['element_'.$row['element_id'].'_3'] = $row['element_type']; $column_type_lookup['element_'.$row['element_id'].'_4'] = $row['element_type']; }elseif('money' == $element_type){//money format $column_name_lookup['element_'.$row['element_id']] = $row['element_title']; if(!empty($element_constraint)){ $column_type_lookup['element_'.$row['element_id']] = $element_constraint; //euro, pound, yen }else{ $column_type_lookup['element_'.$row['element_id']] = 'dollar'; //default is dollar } }elseif('checkbox' == $element_type){ //checkboxes, get childs elements $this_checkbox_options = $element_option_lookup[$row['element_id']]; foreach ($this_checkbox_options as $option_id=>$option){ $column_name_lookup['element_'.$row['element_id'].'_'.$option_id] = $option; $column_type_lookup['element_'.$row['element_id'].'_'.$option_id] = $row['element_type']; } }elseif ('time' == $element_type){ if($element_constraint == 'show_seconds'){ $column_type_lookup['element_'.$row['element_id']] = $row['element_type']; }else{ $column_type_lookup['element_'.$row['element_id']] = 'time_noseconds'; } $column_name_lookup['element_'.$row['element_id']] = $row['element_title']; }else{ //for other elements with only 1 field $column_name_lookup['element_'.$row['element_id']] = $row['element_title']; $column_type_lookup['element_'.$row['element_id']] = $row['element_type']; } } /******************************************************************************************/ //set column properties for basic fields $column_name_lookup['id'] = ''; $column_name_lookup['row_num'] = '#'; $column_name_lookup['date_created'] = 'Fecha de alta'; $column_name_lookup['date_updated'] = 'Fecha de modificación'; $column_name_lookup['ip_address'] = 'Dirección IP'; $column_type_lookup['id'] = 'number'; $column_type_lookup['row_num'] = 'number'; $column_type_lookup['date_created'] = 'text'; $column_type_lookup['date_updated'] = 'text'; $column_type_lookup['ip_address'] = 'text'; /******************************************************************************************/ //get columns preference $query = "select element_name from ap_column_preferences where form_id='{$form_id}' order by position asc"; $result = do_query($query); while($row = do_fetch_result($result)){ $column_prefs[] = $row['element_name']; } //if empty display 6 first columns if(empty($column_prefs)){ $query = "select * from `ap_form_{$form_id}` limit 1"; $result = do_query($query); $i = 0; $j = 0; $fields_num = mysql_num_fields($result); while(($i < $fields_num) && ($j <= 5)){ $meta = mysql_fetch_field($result, $i); if(!in_array($i,array(0,2,3))){ //don't display id (0), date_updated (2) and ip_address (3) as default $column_prefs[$j] = $meta->name; $j++; } $i++; } } $field_list = implode(',',$column_prefs); $query = "select id,id as row_num,{$field_list} from `ap_form_{$form_id}` order by id desc $limit"; $result = do_query($query); //get actual field name from selected table $i = 0; $fields_num = mysql_num_fields($result); while($i < $fields_num){ $meta = mysql_fetch_field($result, $i); $columns[$i] = $meta->name; $i++; } $i=0; $c=0; $column_label = array(); $first_row_number = ($pageno -1) * $rows_per_page + 1; $last_row_number = $first_row_number; while($row = do_fetch_result($result)){ for($j=0;$j<$fields_num;$j++){ $column_name = $columns[$j]; $form_data[$i][$j] = ''; //limit the data length, unless for file element if($column_type_lookup[$column_name] != 'file'){ if(strlen($row[$column_name]) > $max_data_length){ $row[$column_name] = substr($row[$column_name],0,$max_data_length).'...'; } } if($column_type_lookup[$column_name] == 'time'){ if(!empty($row[$column_name])){ $form_data[$i][$j] = date("h:i:s A",strtotime($row[$column_name])); }else { $form_data[$i][$j] = ''; } }elseif($column_type_lookup[$column_name] == 'time_noseconds'){ if(!empty($row[$column_name])){ $form_data[$i][$j] = date("h:i A",strtotime($row[$column_name])); }else { $form_data[$i][$j] = ''; } }elseif(in_array($column_type_lookup[$column_name],array('dollar','euro','pound','yen'))){ //set column formatting for money fields $column_type = $column_type_lookup[$column_name]; switch ($column_type){ case 'dollar' : $currency = '$';break; case 'pound' : $currency = '£';break; case 'euro' : $currency = '€';break; case 'yen' : $currency = '¥';break; } if(!empty($row[$column_name])){ $form_data[$i][$j] = '
Revisar y gestionar las respuestas de los formularios