function getData($fields) { $apiKey = $fields['api']; $jotform = new JotForm($apiKey); $form = ""; $output = array(); $columns = array(); $includeForm = array_key_exists('includeForm', $fields); if ($includeForm) { array_push($columns, 'Form Name'); } foreach ($fields as $field => $on) { if (strpos($field, '_') === false) { continue; } $question = explode('_', $field); if ($question[0] != $form) { $submissions = $jotform->getFormSubmissions($question[0]); $form = $question[0]; if ($includeForm) { $formInfo = $jotform->getForm($form); $formName = $formInfo['title']; } } foreach ($submissions as $key => $submission) { $submission_id = $submission['id']; if (array_key_exists('answers', $submission)) { foreach ($submission['answers'] as $key => $answer) { if (array_key_exists('text', $answer) && array_key_exists('answer', $answer)) { $fieldTitle = $answer['text']; $strippedTitle = preg_replace('/\\s+/', '', $fieldTitle); if ($strippedTitle == $question[2]) { $columnTitle = $fields['groupby'] == 'name' ? $fieldTitle : preg_replace('/control_/', '', $answer['type']); if (!in_array($columnTitle, $columns)) { array_push($columns, $columnTitle); } if (!array_key_exists($submission_id, $output)) { $output[$submission_id] = array(); if ($includeForm) { $output[$submission_id]['Form Name'] = $formName; } } $text = is_array($answer['answer']) ? implode(' - ', $answer['answer']) : $answer['answer']; if (array_key_exists($columnTitle, $output[$submission_id])) { $output[$submission_id][$columnTitle] = $output[$submission_id][$columnTitle] . ' - ' . $text; } else { $output[$submission_id][$columnTitle] = $text; } } } } } } } createFile($output, $columns, $apiKey); }
function jotform_mysqldump($apiKey, $formID) { // get a list of questions $jotformAPI = new JotForm($apiKey); $form = $jotformAPI->getForm($formID); $formTitle = $form['title']; $questions = $jotformAPI->getFormQuestions($formID); $new_questions = array(); $ignored_fields = array("control_head", "control_button", "control_pagebreak", "control_collapse", "control_text"); $i = 0; foreach ($questions as $q) { if (!in_array($q['type'], $ignored_fields)) { array_push($new_questions, $q); $ordered_questions[$q['order']] = $i++; } } $questions = $new_questions; //print "<pre>"; //print_r( $questions ); // prepare CREATE TABLE code $table = mysql_fieldname_format($formTitle); $sql = "CREATE TABLE IF NOT EXISTS `" . $table . "` (\n"; $fields_sql = array(); $fields = array(); foreach ($ordered_questions as $order => $i) { $mysql_type = "varchar(255)"; if ($questions[$i]['type'] == "control_textarea") { $mysql_type = "text"; } array_push($fields, $questions[$i]['text']); array_push($fields_sql, "\t`" . mysql_fieldname_format($questions[$i]['text']) . "` " . $mysql_type); } $sql .= implode(",\n", $fields_sql); $sql .= "\n);\n\n"; //print $sql; // get submission data $submissions = $jotformAPI->getFormSubmissions($formID); //print_r($submissions); foreach ($submissions as $s) { $insert = "INSERT IGNORE INTO `{$table}` (\n"; $keys = array(); $values = array(); foreach ($fields as $k) { //print "<li>$k".$s['fields'][$k]; array_push($keys, "`" . mysql_fieldname_format($k) . "`"); array_push($values, "'" . mysql_real_escape_string($s['fields'][$k]) . "'"); } $insert .= implode(", ", $keys); $insert .= "\n) VALUES (\n"; $insert .= implode(", ", $values); $insert .= "\n);\n\n"; $sql .= $insert; } return $sql; }
function getSummary($formID, $questionID) { $jotform = new JotForm("yourAPIKey"); $submissions = $jotform->getFormSubmissions($formID); foreach ($submissions as $id => $submissionDetails) { $answer = isset($submissionDetails["answers"][$questionID]["answer"]) && $submissionDetails["answers"][$questionID]["answer"] != "" ? $submissionDetails["answers"][$questionID]["answer"] : "Not Answered"; $answersArray[$answer] = isset($answersArray[$answer]) ? $answersArray[$answer] + 1 : 1; } $result = ""; arsort($answersArray); foreach ($answersArray as $key => $value) { $percentages[$key] = round($answersArray[$key] * 100 / count($submissions), 1); $result .= "%{$percentages[$key]} {$key}, "; } return sprintf("In %d submissions, there are %d different answers for question #%d : %s \n ", count($submissions), count($answersArray), $questionID, trim($result, ' ,')); }
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>View Enquiries</title> <link href="admincss.css" rel="stylesheet" type="text/css"> </head> <body> <div align="center"> <div><a href="/index.php">HOME</a> | <a href="/admin/index.php">ADMIN</a> | <a href="/admin/index.php?action=log_out">LOGOUT</a></div> <p></p> <?php try { include "JotForm.php"; $jotformAPI = new JotForm("c9e8ae4b227d12360d9611e5eebfb1de"); $submissions = $jotformAPI->getFormSubmissions(51760713131951); if (sizeof($submissions) < 1) { echo "No Enquiries Found"; } else { ?> <table border=1 cellpadding="5"><tr><th>Enquiry Date</th><th>Enquirer</th><th>Email</th><th>Phone</th><th>Interest</th><th>Message</th> <?php foreach ($submissions as $submission) { $submissionID = $submission["id"]; $submissionDate = date_create($submission["created_at"]); $submissionDatePrint = date_format($submissionDate, "d M Y"); $answers = $submission["answers"]; $submitterName = $answers[4]["answer"]["first"] . " " . $answers[4]["answer"]["last"]; $submitterEmail = $answers[5]["answer"]; $submitterPhone = $answers[6]["answer"];
function getSubmissions($apiKey, $formID) { $jotformAPI = new JotForm($apiKey); $submissions = $jotformAPI->getFormSubmissions($formID, 0, 10000); return $submissions; }