/
build.php
253 lines (200 loc) · 7.97 KB
/
build.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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
<?php
ini_set('display_errors', 'On');
header('Content-Type: text/html');
include "storedInfo.php"; //contains hostname/username/password/databasename
include "htmlgenerators.php";
include "globalConstants.php";
//connect to database with created mysqli object
$mysqli = new mysqli($hostname, $Username, $Password, $DatabaseName);
if ($mysqli->connect_errno || $mysqli->connect_error)
{
http_response_code(500);
echo "Database currently unvailable";
exit();
}
if(isset($_POST['available'])){
//only show parts not on boards
$deckQuery =
"SELECT D.id, D.color as deckColor, DT.deck_name, DT.length, DT.description,
B.brand_name as deck_brand_name, B.brand_img_url as deck_brand_img_url, D.fk_deck_id as fkid FROM sk8_deck_inv D
INNER JOIN sk8_deck_type DT on D.fk_deck_id = DT.id
INNER JOIN sk8_brand B on DT.fk_brand_id = B.id
WHERE D.id NOT IN (SELECT fk_deck_id from sk8_skateboards)";
$truckQuery=
"SELECT T.id, TT.truck_name, TT.width,
B.brand_name as truck_brand_name, B.brand_img_url as truck_brand_img_url, T.fk_truck_id as fkid FROM sk8_truck_inv T
INNER JOIN sk8_truck_type TT on T.fk_truck_id = TT.id
INNER JOIN sk8_brand B on TT.fk_brand_id = B.id
WHERE T.id NOT IN (SELECT fk_truck_id from sk8_skateboards)";
$wheelQuery=
"SELECT W.id, W.color as wheelColor, WT.wheel_name, WT.diameter, WT.durometer,
B.brand_name as wheel_brand_name, B.brand_img_url as wheel_brand_img_url, W.fk_wheel_id as fkid FROM sk8_wheel_inv W
INNER JOIN sk8_wheel_type WT on W.fk_wheel_id=WT.id
INNER JOIN sk8_brand B on WT.fk_brand_id = B.id
WHERE W.id NOT IN (SELECT fk_wheel_id from sk8_skateboards);";
$filterbutton = "<form method=\"POST\" action=\"build.php\">
<button type=\"submit\" class=\"btn btn-info\" id=\"filterbutton\">
<span class=\"glyphicon glyphicon-list-alt\"> </span> <span> Show All Parts </span>
</button> </form>";
}else {
$deckQuery =
"SELECT D.id, D.color as deckColor, DT.deck_name, DT.length, DT.description,
B.brand_name as deck_brand_name, B.brand_img_url as deck_brand_img_url, D.fk_deck_id as fkid FROM sk8_deck_inv D
INNER JOIN sk8_deck_type DT on D.fk_deck_id = DT.id
INNER JOIN sk8_brand B on DT.fk_brand_id = B.id";
$truckQuery=
"SELECT T.id, TT.truck_name, TT.width,
B.brand_name as truck_brand_name, B.brand_img_url as truck_brand_img_url, T.fk_truck_id as fkid FROM sk8_truck_inv T
INNER JOIN sk8_truck_type TT on T.fk_truck_id = TT.id
INNER JOIN sk8_brand B on TT.fk_brand_id = B.id";
$wheelQuery=
"SELECT W.id, W.color as wheelColor, WT.wheel_name, WT.diameter, WT.durometer,
B.brand_name as wheel_brand_name, B.brand_img_url as wheel_brand_img_url, W.fk_wheel_id as fkid FROM sk8_wheel_inv W
INNER JOIN sk8_wheel_type WT on W.fk_wheel_id=WT.id
INNER JOIN sk8_brand B on WT.fk_brand_id = B.id";
$filterbutton = "<form method=\"POST\" action=\"build.php\"> <input type=\"hidden\" name=\"available\" value=\"true\">
<button type=\"submit\" class=\"btn btn-info\" id=\"filterbutton\">
<span class=\"glyphicon glyphicon-list-alt\"> </span> <span> Show Only Available Parts </span>
</button> </form>";
}
include "headandnav.php";
echo "<script> document.getElementById('build_tab').classList.add('active'); </script>";
?>
<div id="buildInstructions" > Choose One of Each from Below by Clicking on Them </div>
<div class="container-fluid">
<div class="row">
<div class="col-lg-2"></div>
<div class="col-lg-8" id="boardTemplate">
<div class="container-fluid">
<div class="row">
<div class="col-lg-4">
<div class="builpartlabel">Deck</div>
<div class="buildPartHolder" id="deckPart"></div>
</div>
<div class="col-lg-4">
<div class="builpartlabel">Truck</div>
<div class="buildPartHolder" id="truckPart"></div>
</div>
<div class="col-lg-4">
<div class="builpartlabel">Wheel</div>
<div class="buildPartHolder" id="wheelPart"></div>
</div>
</div></div>
<div id="buildButtons">
<?php echo $filterbutton ?>
<button type="button" class="btn btn-success" onclick="$('#buildModal').modal()" id="build" disabled="true">
<span class="glyphicon glyphicon-wrench"></span>
<span>Build Board</span>
</button>
</div>
</div>
<div class="col-lg-2"></div>
</div>
</div>
<script type="text/javascript">
var deckPart;
var deckkey;
var truckPart;
var deckkey;
var wheelPart;
var wheelkey;
function buildselect(panel,partpanel,formfield){
console.log(panel.getAttribute('data-id'),panel);
partpanel.innerHTML='';
partpanel.appendChild(panel.cloneNode(true));
formfield.setAttribute('value',panel.getAttribute('data-id'));
if(deckkey.value && truckkey.value && wheelkey.value){
console.log('ready');
document.getElementById('build').disabled=false;
} else {
document.getElementById('build').disabled=true;
}
}
window.onload=function setonclicks () {
deckPart=document.getElementById('deckPart');
truckPart=document.getElementById('truckPart');
wheelPart=document.getElementById('wheelPart');
deckkey=document.getElementById('deckkey');
truckkey=document.getElementById('truckkey');
wheelkey=document.getElementById('wheelkey');
decks=document.getElementsByClassName('deckbuild');
for (var i = decks.length - 1; i >= 0; i--) {
//decks[i].setAttribute("onclick","click(this,'deck')");
decks[i].setAttribute("onclick","buildselect(this,deckPart,deckkey)");
};
trucks=document.getElementsByClassName('truckbuild');
for (var i = trucks.length - 1; i >= 0; i--) {
trucks[i].setAttribute("onclick","buildselect(this,truckPart,truckkey)");
};
wheels=document.getElementsByClassName('wheelbuild');
for (var i = wheels.length - 1; i >= 0; i--) {
wheels[i].setAttribute("onclick","buildselect(this,wheelPart,wheelkey)");
};
}
</script>
<div class="container-fluid">
<div class="row" id="inventory_container">
<div class="col-md-4">
<h3 class="inventory_heading">Decks</h3>
<?php
#generate decks
$result = $mysqli->query($deckQuery);
while($row=$result->fetch_assoc()){
makeDeckInv($row, 'buildPanel deckbuild');
}
?>
</div>
<div class="container-fluid">
<div class="row" id="inventory_container">
<div class="col-md-4">
<h3 class="inventory_heading">Trucks</h3>
<?php
#generate trucks
$result = $mysqli->query($truckQuery);
while($row=$result->fetch_assoc()){
makeTruckInv($row, 'buildPanel truckbuild');
}
?>
</div>
<div class="container-fluid">
<div class="row" id="inventory_container">
<div class="col-md-4">
<h3 class="inventory_heading">Wheels</h3>
<?php
#generate wheels
$result = $mysqli->query($wheelQuery);
while($row=$result->fetch_assoc()){
makeWheelInv($row, 'buildPanel wheelbuild');
}
echo" </div>
</div>
</div>";
?>
</body>
<!-- Modal -->
<div class="modal fade" id="buildModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Your New Board is almost built</h4>
</div>
<div class="modal-body">
<form action="buildboardsql.php" method="post">
<input id="deckkey" type="hidden" name="fk_deck_id" value=""></input>
<input id="truckkey" type="hidden" name="fk_truck_id" value=""></input>
<input id="wheelkey" type="hidden" name="fk_wheel_id" value=""></input>
What is it's name:<input type="text" name="board_name"></input><br>
(Optional) URL for a picture of it<input type="url" name="board_img_url"></input>
<br>
<button type="submit" class="btn btn-success">
<span class="glyphicon glyphicon-wrench"></span>
<span>Build Board</span>
</button>
</form>
</div>
</div>
</div>
</div>
</html>