
Originariamente inviata da
cavicchiandrea
Senza codice js si possono solo fare ipotesi, ma il response è intrinseco nella chiamata Ajax
Cosa intendi per intrinseco?
Comunque questo è il codice php della pagina principale:
codice:
<?php echo '<select id="sCategories">';
$propose->categories();
echo '</select>';
?>
<p id="subCategories">Scegli una Sottocategoria</p>
<select id="sSubCategories">
<option id="0" value="0">Seleziona prima una Categoria</option>
</select>
Questo è il javascript, ovviamente incompleto:
codice:
$("#sCategories").click(function(){var categories = document.getElementById("sCategories");
var subCategories = document.getElementById("sSubCategories");
var id = categories.options[categories.selectedIndex].value;
$.ajax({
type: "POST",
url: "assets/subCategories.php",
data: "id="+ id,
success: subCategories.append(response)
});
});
Questo è il subCategories.php:
codice:
<?php
$mysqli = mysqli_connect('localhost', 'autor_admin', '101051Wm', 'autoric4_login');
$assId = filter_input(INPUT_POST, 'id');
$query = "SELECT id, name FROM subCategories WHERE assId = '$assId'";
$data = $mysqli->query($query);
while ($subCategories = $data->fetch_assoc()){
echo '<option value="' . $subCategories['id'] . '">' . $subCategories['name'] . '</option>';
}
?>
L'avevo fatto così perchè speravo di poter passare il contenuto dell'echo nel response ma, come mi aspettavo, non funziona..