Lezioni di Informatica
"Una volta che abbiate conosciuto il volo, camminerete sulla terra guardando il cielo" [ L. da Vinci ]
Informazioni sul Sito
N. visitatori  000067089  dal 21/01/2007  |   e-mail: ksoft64camera@gmail.com   
Cerca nel sito
Documenti collegati alla pagina
Gestione di corsi su web

TRACCIA

DATABASE [SOLUZIONE mySQL]

Utilizzando il dbms mySQL si costruisca il database corsiweb con le seguenti tabelle:
  • materie (IDmat, argomento)
  • corsi (IDC, corso, IDmat, orepreviste)
  • docenti (IDD, docente)
  • corsiattivati (IDCA, IDC, IDD, datainizio)
  • iscritti (IDI, cognome, nome, indirizzo, tel, email, codfisc, login, password)
  • iscrizioni (ID, IDI, IDCA, dataiscrizione)
NOTE:
Le chiavi primarie sono in grassetto, le chiavi esterne sono in corsivo Lo studente può integrare le tabelle con campi aggiuntivi I dati possono essere strutturati a piacere

ELABORAZIONI [SOLUZIONE PHP]

Utilizzando il linguaggio PHP svolgere le seguenti elaborazioni:
  1. scrivere una pagina web (elenco.php) che visualizzi in forma tabellare i seguenti dati: corso, datainizio, orepreviste, docen
  2. te
  3. scrivere le pagine web (moduloiscrizione.php e registrazione.php) che consentano l'iscrizione anagrafica, ovvero la registrazione di un nuovo record nella tabella iscritti

SOLUZIONE mySQL

create table materie (IDmat int auto_increment not null, argomento varchar(30) not null) engine=innoDB;

create table corsi (IDC int auto_increment not null primary key, corso varchar(30) not null, IDmat int not null, orepreviste int ) engine=innoDB;

create table docenti (IDD int auto_increment not null primary key, docente varchar(40) not null) engine=innoDB;

create table corsiattivati (IDCA int auto_increment not null primary key, IDC int not null, IDD int not null, datainizio date) engine=innoDB;

create table iscritti (IDI int auto_increment not null primary key, cognome varchar(20) not null, nome varchar(20) not null, indirizzo varchar(30), tel varchar(15), email varchar(30) not null, codfisc varchar(16) not null, login varchar(20) not null, password varchar(20) not null) engine=innoDB;

create table iscrizioni (ID int auto_increment not null primary key, IDI int not null, IDCA int not null, dataiscrizione date) engine=innoDB;

[ TRACCIA ]

SOLUZIONE PHP

elenco.php
<html>
<head>
<title>Elenco corsi</title>
</head>
<body>
<table border="1" cellpadding="2" cellspacing="2">
<caption>ELENCO CORSI ATTIVATI</caption>
<tr>
<th>Corso</th>
<th>Data inizio</th>
<th>ore previste</th>
<th>Docente</th>
</tr>

<?php
	$c=mysql_connect("localhost","root","");
	mysql_select_db("corsiweb", $c);

	$sql="select corso, date_format (datainizio,'%d/%m/%Y'), orepreviste, docente ";
	$sql.="from corsi, docenti, corsiattivati ";
	$sql.="where corsiattivati.IDD=docenti.IDD and corsiattivati.IDC=corsi.IDC ";
	$sql.="order by datainizio;";
	
	$q=mysql_query($sql, $c);
	
	while ($r=mysql_fetch_row($q))
	{
		echo "<tr>";
		echo "<td>", $r[0], "</td>";
		echo "<td>", $r[1], "</td>";
		echo "<td>", $r[2], "</td>";
		echo "<td>", $r[3], "</td>";
		echo "</tr>";
	}
	mysql_close($c);
?>
</table>
</body>
</html>
[ TRACCIA ]
moduloiscrizione.php
<html>
<head>
</head>
<body>
<form action="registrazione.php" method="post">
Cognome:<br />
<input type="text" name="cognome" size="20" maxlength="20" /><br />
Nome:<br />
<input type="text" name="nome" size="20" maxlength="20" /><br />
Indirizzo:<br />
<input type="text" name="indirizzo" size="30" maxlength="30" /><br />
Telefono:<br />
<input type="text" name="tel" size="15" maxlength="15" /><br />
e-mail:<br />
<input type="text" name="email" size="30" maxlength="30" /><br />
Cod. Fisc.:<br />
<input type="text" name="codfisc" size="16" maxlength="16" /><br />
Login:<br />
<input type="text" name="login" size="20" maxlength="20" /><br />
Password:<br />
<input type="password" name="password" size="20" maxlength="20" /><br />
<input type="submit" value="Registra" />
</form>
</body>
</html>
[ TRACCIA ]
registrazione.php
<?php
if (isset($_POST["cognome"]) && isset($_POST["nome"]) && isset($_POST["email"]) && isset($_POST["codfisc"])&& isset($_POST["login"]) && isset($_POST["password"]))
{
		$cog=$_POST["cognome"];
		$nome=$_POST["nome"];
		$email=$_POST["email"];
		$codf=$_POST["codfisc"];
		$lg=$_POST["login"];
		$pw=$_POST["password"];
	
		$c=mysql_connect("localhost","root","");
		mysql_select_db("corsiweb", $c);
	
		$sql="insert into iscritti ";
		$sql.="(cognome, nome, indirizzo, tel, email, codfisc, login, password) ";
		$sql.="values (";
		
		$sql.="'".$cog."', ";
		$sql.="'".$nome."', ";
		
		if (!isset($_POST["indirizzo"]))
			$indirizzo="";
		else
			$indirizzo=$_POST["indirizzo"];
				
		$sql.="'".$indirizzo."', ";
		
		if (!isset($_POST["tel"]))
			$tel="";
		else
			$tel=$_POST["tel"];
			
		$sql.="'".$tel."', ";
		$sql.="'".$email."', ";
		$sql.="'".$codf."', ";
		$sql.="'".$lg."', ";
		$sql.="'".$pw."'";
		$sql.=");";

		mysql_query($sql, $c);
		mysql_close($c);
	}
else
	header ("Location:moduloiscrizione.php"):
?>
[ TRACCIA ]