Sorry guys, I’m being silly again. I definitely need to stop drinking!
Trying to create a live make / model search box for vehicles as you’ll hopefully tell from the below code.
Any help / overview would be much appreciated as I’ve probably done something stupid. Thanks in advance :))
Java:
// Get the Make
function getModels(choseMake) {
// Get Request
var xhr = new XMLHttpRequest();
// Model Info Request
xhr.open("GET", "scripts/modelSearch.php.php?vehicle_make=" + vehicle_make, true);
// Retrieve Data
xhr.onreadymakechange = function() {
// Request OK
if (xhr.readyState === 4 && xhr.status === 200) {
// Json Data
var v_models = JSON.parse(xhr.responseText);
// Drop Down Assignment
var choseModeldropdown = document.getElementById("choseModel");
// Reset Options On DropDown
vmakeDropdown.innerHTML = "<option value=''>Select Models</option>";
// Enable dropdown
vmakeDropdown.disabled = false;
// Model Loops
vehicleMakes.forEach(choseModel => {
var option = document.createElement("vehicle_model");
option.value = choseModel.vehicle_model;
option.text = choseModel.vehicle_model;
vmakeDropdown.appendChild(option);
});
}
};
// Send Request
xhr.send();
}
</script>
HTML:
<div class="Ears-2Column2Row-2Column">
<li>
<label>Make</label>
</li>
<li>
<select name="choseMake" id="choseMake" class="formOptions" onchange="getModels(this.value)">
<option selected value="">Select Make</option>
<?php foreach($Result_mainPageMakes as $Row_mainPageMakes) { ?>
<option value="<?php echo $Row_mainPageMakes['vehicle_make']; ?>"><?php echo $Row_mainPageMakes['vehicle_make']; ?></option>
<?php }?>
</select>
</li>
</div>
<div class="Ears-2Column2Row-2Column">
<li>
<label>Model</label>
</li>
<li>
<select name="choseModel" id="choseModel" class="formOptions">
<option value="">Select Models</option>
</select>
</li>
</div>
modelSearch.php
include '/Databases/dbConnection';
// Clear Make-Clean
$vehicleMake = filter_input(INPUT_GET, "vehicleMake", FILTER_SANITIZE_STRING);
// Check Make-Passed
if (empty($vehicleMake)) {
die("Invalid Vehicle Make");
}
// Search Makes
$sql_makeQuery = "SELECT vehicle_model FROM vehicle_data WHERE vehicle_make = '$vehicleMake'";
$result_makeQuery = mysqli_query($vehicleMakesDB, $sql_makeQuery);
// mysqli_fetch_all
$vehicleMakes = mysqli_fetch_all($result_makeQuery, MYSQLI_ASSOC);
// JSON response.
echo json_encode($vehicleMakes);
// Close DB.
mysqli_close($vehicleMakesDB);