Salve.
sono nuovo di questo forum e appena agli inizi con il php e jquery.
Vorrei chiedervi un consiglio.
Sto cercando di fare una select in cascata con una checkbox.
Mi spiego meglio. Selezionando una commessa (select) vorrei visualizzare tutte le attività relative alla commessa selezionata (checkbox).
Ho preso spunto dal codice "Regioni - Provincie - Comuni"
Vi posto il codice:
_select.php
_select.class.php
_index.php
Dove sbaglio?
Sono settimane che ci sbatto la testa ma non riesco a risolvere la cosa.
Aiutatemi per piacere!!!
sono nuovo di questo forum e appena agli inizi con il php e jquery.
Vorrei chiedervi un consiglio.
Sto cercando di fare una select in cascata con una checkbox.
Mi spiego meglio. Selezionando una commessa (select) vorrei visualizzare tutte le attività relative alla commessa selezionata (checkbox).
Ho preso spunto dal codice "Regioni - Provincie - Comuni"
Vi posto il codice:
_select.php
PHP:
<?php
include_once '_select.class.php';
$opt = new SelectList();
if(isset($_POST['id']))
{
echo $opt->MostraAttivita();
die;
}
?>
_select.class.php
PHP:
<?php
class SelectList
{
public function MostraCommesse()
{
$sql = "SELECT * FROM commesse";
$res = mysql_query($sql);
$commessa = '<option value="0">scegli la commessa</option>';
while($row = mysql_fetch_array($res))
{
$commessa .= '<option value="' .$row['id'] . '">' .$row['nome'] .'</option>';
}
return $commessa;
}
public function MostraAttivita()
{
$sql = "SELECT * FROM attivita WHERE idcommessa=$_POST[id]";
$res = mysql_query($sql);
$attivita = '<option value="0">scegli...</option>';
while($row = mysql_fetch_array($res))
{
$attivita .= '<option value="' . $row['id'] . '">' . utf8_encode($row['nome']) . '</option>';
}
return $attivita;
}
}
?>
_index.php
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html charset=utf-8">
<script type="text/javascript" src="jquery-1.4.1.js"></script>
<title>prova commesse -> attivitÃ*</title>
<script type="text/javascript">
$(document).ready(function(){
var scegli = '<option value="0">Scegli...</option>';
var attendere = '<option value="0">Attendere...</option>';
$("select#attivita").html(scegli);
$("select#attivita").attr("disabled", "disabled");
$("select#commessa").change(function(){
$("select#attivita").html(attendere);
var commessa = $("select#commessa option:selected").attr('value');
$("select#attivita").attr("disabled", "disabled");
$.post("_select.php", {id:commessa}, function(data){
$("select#attivita").removeAttr("disabled");
$("select#attivita").html(data);
});
});
$("select#attivita").change(function(){
$("select#attivita").html(attendere);
var attivita = $("select#attivita option:selected").attr('value');
$.post("_select.php", {id:attivita}, function(data){
$("select#attivita").html(data);
});
});
});
</script>
</head>
<?php
$conn = mysql_connect("localhost","username","password");
$db = mysql_select_db("database1");
// Check connection
if (mysql_error())
{
echo "<font color='red'>Connessione al database fallita: </font>" .mysql_error(). "<br>";
exit();
}
else
{
echo "<font color='green'>Connesso al database. </font><br><br>";
}
include_once '_select.class.php';
$opt = new SelectList();
?>
<body>
<div id="container">
<h1>commesse - attivitÃ*</h1>
<h2>prova</h2>
<form action="?" id="myform">
Seleziona la commessa:<br />
<select id="commessa">
<?php echo $opt->MostraCommesse(); ?>
</select>
<br /><br />
Seleziona attività*:<br />
<checkbox id="attivita">
<input name="Checkbox1" type="checkbox" />
</select>
<br /><br />
</div>
</form>
</body>
</html>
Dove sbaglio?
Sono settimane che ci sbatto la testa ma non riesco a risolvere la cosa.
Aiutatemi per piacere!!!