-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgetSections.php
132 lines (109 loc) · 3.2 KB
/
getSections.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?php include 'config.php' ?>
<?php
session_start();
$sql= "SELECT * FROM section_details where parent_template_id = ".$_POST['templateId'];
$stmt= $db->query($sql);
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
class Section{
public $text;
public $nodes;
public $secId;
public $questions;
}
class Option{
public $optionId;
public $optionText;
}
class Question{
public $questionText;
public $optionsArray;
public $answerText;
public $plainText;
public $questionId;
public $optionTypeId;
}
$sectionArray= array();
foreach($results as $db_row ) {
if($db_row['parent_section_id']==-1 || $db_row['parent_section_id']==null)
{
$sectionInstance = new Section();
$sectionInstance->text=$db_row['section_name'];
$sectionInstance->secId = $db_row['section_id'];
$qArray = array();
$qArray = getQuestionArray($db,$db_row['section_id']);
$sectionInstance->questions = $qArray;
$nodeArray = array();
$sql2 = $sql.' and parent_section_id='.$db_row['section_id'];
$stmt2= $db->query($sql2);
if(!empty($stmt2) AND $stmt2 ->rowCount() > 0)
{
$results2 = $stmt2->fetchAll(PDO::FETCH_ASSOC);
foreach($results2 as $db_child_row ) {
$sectionChildInstance = new Section();
$sectionChildInstance->text=$db_child_row['section_name'];
$sectionChildInstance->secId = $db_child_row['section_id'];
$qArray = array();
$qArray = getQuestionArray($db,$db_child_row['section_id']);
$sectionChildInstance->questions = $qArray;
$nodeArray[] = $sectionChildInstance;
$sectionInstance->nodes = $nodeArray;
}
}
$sectionArray[] = $sectionInstance;
}
}
function getQuestionArray($dbO,$sectionId)
{
//Questions loading code starts
$qsql= "select * from question_details where parent_template_id =".$_POST['templateId']." and parent_section_id ='".$sectionId."'";
$qstmt= $dbO->query($qsql);
$qresults = array();
if(!empty($qstmt) AND $qstmt ->rowCount() > 0)
{
$qresults = $qstmt->fetchAll(PDO::FETCH_ASSOC);
}
$questionArray=array();
foreach($qresults as $question)
{
$qI= new Question();
$qI->optionsArray= array();
$qI->questionText = $question['question_text'];
$qI->answerText='';
$qI->fromDate = '';
$qI->toDate = '';
$qI->plainText='';
$qI->questionId=$question['question_id'];
$qI->optionTypeId=$question['option_type_id'];
$hrLine = '';
if($qI->optionTypeId==2 || $qI->optionTypeId==3)
{
$optionArray = array();
$sql2 = 'select * from options_details where parent_question_id = '.$qI->questionId;
$stmt2= $dbO->query($sql2);
$optionsResult = array();
if(!empty($stmt2) AND $stmt2 ->rowCount() > 0)
{
$optionsResult = $stmt2->fetchAll(PDO::FETCH_ASSOC);
}
foreach($optionsResult as $optionResult)
{
$qI->plainText=$qI->plainText.'<br>';
$option= new Option();
$option->optionId= $optionResult['option_id'];
$option->optionText=$optionResult['option_text'];
$optionArray[] = $option;
}
$qI->plainText=$qI->plainText.$hrLine;
$qI->optionsArray=$optionArray;
}
else if($qI->optionTypeId==1)
$qI->plainText='<br><br>';
else
$qI->plainText = '<br>';
$questionArray[] = $qI;
}
return $questionArray;
//Questions loading code ends
}
echo str_replace(',"nodes":null','',json_encode($sectionArray));;
?>