Ciao ferr,
Devi usare Ajax per popolare la seconda select:
codice:
<head>
<!--Libreria jQuery-->
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('#esame').change(function(){//quando la select#esame cambia:
var idEsame=$(this).val();//recuperiamo l'id dell'esame
$.ajax({//lo passiamo alla pagina "videolezioni.php" che ci restituirà le videolezioni
type: "GET",
url: "videolezioni.php",
data: 'idEsame='+idEsame,
cache: false,
success: function(response){//ad operazione completata
$('#videolezioni').html(response);//popoliamo la select delle videolezioni
}
});
});
});
</script>
</head>
<body>
<select id="esame" name="esame">
<option value="" selected="selected">---Seleziona un esame---</option>
<?php
$q = "SELECT id, fullname, shortname FROM course;";
$result = mysql_query($q, $con);
while($row=mysql_fetch_array($result))
{ ?>
<option value=<?php echo $row['id']; ?>><?php echo $row['fullname']; ?></option>
<?php
} ?>
</select>
<!--Questa select verrà popolata quando avremo un id-esame, inizialmente sarà vuota-->
<select id="videolezioni" name="videolezioni">
<option value="">---Seleziona un esame ↑---</option>
</select>
</body>
File videolezioni.php
Codice PHP:
<?php
//connessione al db
$q = "SELECT id, name FROM url WHERE course=".$_GET['idEsame']
$result = mysql_query($q, $con);
while($row=mysql_fetch_array($result))
{ ?>
<option value=<?php echo $row['id']; ?>><?php echo $row['name']; ?></option>
<?php
}
//nota: è importante che questo file stampi a video solo le option per la select#videolezioni, non deve contenere altri tag HTML
?>
Ho commentato il codice, fammi sapere se hai bisogno di chiarimenti