A suo tempo avevo adottato un semplice javascript che trascrivo qui di seguito per riempire tre combobox sulla base di quanto inserito nel precedente. I dati di riempimento erano elencati uno per uno.
Codice: Seleziona tutto
<script type="text/javascript">
function fillSecondCombo()
{
var combo1 = document.getElementById('Combobox1');
var combo2 = document.getElementById('Combobox2');
var combo3 = document.getElementById('Combobox3');
combo3.options.length = 0
var selected = combo1.options[combo1.options.selectedIndex].value;
if (selected == "Free number")
{
combo2.options.length = 3;
combo2.options[0] = new Option("Choose the country", "0");
combo2.options[1] = new Option("+39 Italy", "+39 Italy");
combo2.options[2] = new Option("+44 United Kingdom", "+441 United Kingdom");
}
else
if (selected == "Smart number")
{
combo2.options.length = 21;
combo2.options[0] = new Option("Choose the country", "0");
combo2.options[1] = new Option("+1 United States", "+1 United States");
combo2.options[2] = new Option("+30 Greece", "+30 Greece");
combo2.options[3] = new Option("+31 Netherlands", "+31 Netherlands");
combo2.options[4] = new Option("+32 Belgium", "+32 Belgium");
combo2.options[5] = new Option("+33 France", "+33 France");
combo2.options[6] = new Option("+34 Spain", "+34 Spain");
combo2.options[7] = new Option("+351 Portugal", "+351 Portugal");
combo2.options[8] = new Option("+353 Ireland", "+353 Ireland");
combo2.options[9] = new Option("+358 Finland", "+358 Finland");
combo2.options[10] = new Option("+36 Hungary", "+36 Hungary");
combo2.options[11] = new Option("+39 Italy", "+39 Italy");
combo2.options[12] = new Option("+41 Switzerland", "+41 Switzerland");
combo2.options[13] = new Option("+420 Czech Republic", "+420 Czech Republic");
combo2.options[14] = new Option("+421 Slovakia", "+421 Slovakia");
combo2.options[15] = new Option("+43 Austria", "+43 Austria");
combo2.options[16] = new Option("+44 United Kingdom", "+442 United Kingdom");
combo2.options[17] = new Option("+45 Denmark", "+45 Denmark");
combo2.options[18] = new Option("+46 Sweden", "+46 Sweden");
combo2.options[19] = new Option("+47 Norway", "+47 Norway");
combo2.options[20] = new Option("+48 Poland", "+48 Poland");
}
else
{
combo2.options.length = 0;
}
}
</script>
Codice: Seleziona tutto
<script type="text/javascript">
function fillcombobox()
{
var combo1 = document.getElementById('Combobox1');
var combo2 = document.getElementById('Combobox2');
var selected = combo1.options[combo1.options.selectedIndex].value;
if (selected == "Roma")
{
$mysql_server = '62.149.150.246';
$mysql_username = 'Sql908843';
$mysql_password = 'fxjz7q8veo';
$mysql_database = 'Sql908843_1';
$mysql_table = 'Delegati';
$db = mysql_connect($mysql_server, $mysql_username, $mysql_password);
if (!$db)
{
die('Non connesso con il server del database!<br>'.mysql_error());
}
mysql_select_db($mysql_database, $db) or die('Non connesso con il database<br>'.mysql_error());
$sql = "SELECT cognome, nome FROM ".$mysql_table." WHERE delita > 0 ;
$result = mysql_query($sql, $db);
$numrows = mysql_num_rows($result);
// se il database è vuoto lo stampo a video
if ($numrows == 0){
echo "Delegati non disponibili!";
}
// se invece trovo delle occorrenze...
else
{
combo2.options.length = $numrows + 1;
combo2.options[0] = new Option("Scegli chi delegare", "0");
for ($x = 0; $x < $numrows; $x++){
// recupero il contenuto di ogni record rovato
$resrow = mysql_fetch_row($result);
$cognome = $resrow[0];
$nome = $resrow[1];
combo2.options[$x+1] = new Option($cognome .” “ . $nome, $cognome .” “ . $nome);
mysql_close($myconn);
}
else
if (selected == "Estero")
{
$mysql_server = '62.149.150.246';
$mysql_username = 'Sql908843';
$mysql_password = 'fxjz7q8veo';
$mysql_database = 'Sql908843_1';
$mysql_table = 'Delegati';
$db = mysql_connect($mysql_server, $mysql_username, $mysql_password);
if (!$db)
{
die('Non connesso con il server del database!<br>'.mysql_error());
}
mysql_select_db($mysql_database, $db) or die('Non connesso con il database<br>'.mysql_error());
$sql = "SELECT cognome, nome FROM ".$mysql_table." WHERE delest > 0 ;
$result = mysql_query($sql, $db);
$numrows = mysql_num_rows($result);
// se il database è vuoto lo stampo a video
if ($numrows == 0){
echo "Delegati non disponibili!";
}
// se invece trovo delle occorrenze...
else
{
combo2.options.length = $numrows + 1;
combo2.options[0] = new Option("Scegli chi delegare", "0");
for ($x = 0; $x < $numrows; $x++){
// recupero il contenuto di ogni record rovato
$resrow = mysql_fetch_row($result);
$cognome = $resrow[0];
$nome = $resrow[1];
combo2.options[$x+1] = new Option($cognome .” “ . $nome, $cognome .” “ . $nome);
mysql_close($myconn);
}
}
else
{
combo2.options.length = 0;
}
}
</script>
Purtroppo il riempimento non funziona e non mi ritorna alcun errore. Cosa sbaglio ?
Grazie
Emilio