Advertisement
Guest User

Present a Table of Form Answers from a Gravity Forms database for WordPRess

a guest
Jun 3rd, 2010
606
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.70 KB | None | 0 0
  1. <?php
  2.     require('./wp-load.php');
  3.  
  4.     $form_id = 4;
  5.     $form_answers = get_form_answers($form_id);
  6.     $field_labels = get_field_labels($form_id);
  7.     display_form($field_labels,$form_answers);
  8.  
  9.  
  10. function display_form($field_labels,$form_answers) {
  11.     echo '<table border="1"><tr>';
  12.     foreach($field_labels as $field_label)
  13.         echo "<th>$field_label</th>";
  14.     echo '</tr>';
  15.     foreach($form_answers as $lead) {
  16.         echo '<tr>';
  17.         foreach(array_keys($field_labels) as $index)
  18.             echo '<td>' . (!isset($lead[$index]) ? '&nbsp;' : $lead[$index]) . '</td>';
  19.         echo '</tr>';
  20.     }
  21.     echo '</table>';
  22. }
  23.  
  24. function get_form_answers($form_id) {
  25.     global $wpdb;
  26.  
  27.     $sql = "
  28.         SELECT
  29.             ld.lead_id,
  30.             ld.field_number,
  31.             ld.value
  32.         FROM
  33.             wp_rg_lead_detail ld
  34.             INNER JOIN wp_rg_lead l ON ld.lead_id = l.id
  35.         WHERE
  36.             ld.form_id = %d
  37.         ORDER BY
  38.             ld.lead_id,
  39.             ld.field_number
  40.     ";
  41.     $sql = $wpdb->prepare($sql,$form_id);
  42.     $results = $wpdb->get_results($sql, ARRAY_A);
  43.     $form_answers = array();
  44.     foreach($results as $row) {
  45.         $row = (object)$row;
  46.         $major_num = (int)$row->field_number;
  47.         $minor_num = (int)(($row->field_number-$major_num)*10);
  48.         $form_answers[$row->lead_id][$major_num][$minor_num] = $row->value;
  49.     }
  50.     foreach($form_answers as $i => $lead) {
  51.         foreach($lead as $j => $form_answer) {
  52.             $form_answers[$i][$j] = implode(' ',$form_answer);
  53.         }
  54.     }
  55.     return $form_answers;
  56. }
  57. function get_field_labels($form_id) {
  58.     global $wpdb;
  59.  
  60.     $sql = "SELECT display_meta FROM wp_rg_form_meta WHERE form_id = %d";
  61.     $form = (object)unserialize($wpdb->get_var($wpdb->prepare($sql,$form_id)));
  62.     foreach($form->fields as $field) {
  63.         $field = (object)$field;
  64.         $labels[$field->id] = $field->label;
  65.     }
  66.     return $labels;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement