Hi there. I tried with little steps to build a page for modifying data into a db. This page has a form which must get data from many tables. Maybe some good guy can help me doing order in this page. Here are the db tables and the code:
Tabella "evento"
create table evento (id char(2), evento varchar(30));
insert into evento (id,evento) values ('cr','campionati regionali');
insert into evento (id,evento) values ('ci','campionati italiani');
Tabella "categorie"
create table categorie (id char (5), categoria varchar (15));
insert into categorie (id,categoria) values ('eso_a','esordienti A');
insert into categorie (id,categoria) values ('eso_b','esordienti B');
insert into categorie (id,categoria) values ('eso_c','esordienti C');
insert into categorie (id,categoria) values ('rgz','ragazze');
Tabella "competizione"
create table competizione (id int not null primary key auto_increment,data_evento date default "0000-00-00",evento varchar (30), categoria varchar(15),societa varchar (150),cognome_atleta varchar (30), nome_atleta varchar (30), anno_atleta year, punteggio decimal(5,3), posizione int unsigned not null);
insert into competizione (id,data_evento,evento,categoria,societa,cognome_atleta,nome_atleta,anno_atleta,punteggio,posizione) values (null,'2001-07-25','campionati regionali','ragazze','polisportiva Rezzoaglio','Meneghin','Clara','1979','28.730','12');
Tabella "atleti"
create table atleti (id int not null primary key auto_increment,cognome_atleta varchar (30), nome_atleta varchar (30), anno_atleta year);
insert into atleti (id,cognome_atleta,nome_atleta,anno_atleta) values (null,'Meneghin','Clara','1979');
<?
include("dblib.inc");
//include("clublib.inc");
?>
<?
if ($submit)
{
if ($id)
{
$sql = "UPDATE competizione SET data_evento='$data_evento',evento='$evento',
categoria='$categoria', societa='$societa',cognome_atleta='$cognome_atleta',
nome_atleta='$nome_atleta',anno_atleta='$anno_atleta', punteggio='$punteggio',
posizione='$posizione' WHERE id=$id";
}
else
{
$sql = "INSERT INTO competizione (data_evento,evento,categoria,societa,
cognome_atleta,nome_atleta,anno_atleta, punteggio,posizione)
VALUES
('$data_evento','$evento','$categoria','$societa','$cognome_atleta,',
'$nome_atleta','$anno_atleta','$punteggio','$posizione')";
}
$result = mysql_query($sql);
echo "Ok, record modificato / aggiornato !<p>";
}
elseif ($delete)
{
$sql = "DELETE FROM competizione WHERE id=$id";
$result = mysql_query($sql);
echo "$sql Record deleted!<p>";
}
else
{
if (!$id)
{
$result = mysql_query("SELECT * FROM competizione",$db);
while ($myrow = mysql_fetch_array($result)) {
printf("<a href=\"%s?id=%s\">%s %s %s</a> \n",
$PHP_SELF, $myrow["id"], $myrow["data_evento"], $myrow["evento"], $myrow["categoria"],
$myrow["societa"], $myrow["cognome_atleta"], $myrow["nome_atleta"], $myrow["anno_atleta"],
$myrow["punteggio"], $myrow["posizione"]);
printf("<div align=\"center\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\" color=\"#000000\">
<a href=\"%s?id=%s&delete=yes\">(Cancella)</a></font></div><br>", $PHP_SELF, $myrow["id"]);
}
}
?>
</font></td></tr>
<tr><td><hr></td></tr>
<tr><td height="48"><form method="post" action="<? echo $PHP_SELF?>">
<?
if ($id)
{
$sql = "SELECT * FROM competizione WHERE id=$id";
$result = mysql_query($sql);
$myrow = mysql_fetch_array($result);
$id = $myrow["id"];
$data_evento = $myrow["data_evento"];
$evento = $myrow["evento"];
$categoria = $myrow["categoria"];
$societa = $myrow["societa"];
$cognome_atleta = $myrow["cognome_atleta"];
$nome_atleta = $myrow["nome_atleta"];
$anno_atleta = $myrow["anno_atleta"];
$punteggio = $myrow["punteggio"];
$posizione = $myrow["posizione"];
?>
<input type = hidden name="id" value = "<? echo $id ?>">
}
<head>
<title> Aggiorna l'elenco delle manifestazioni</title>
</head>
<body bgcolor="#CCCC99">
<form action ="<?print $PHP_SELF;?>">
<font face="Verdana, Arial, Helvetica, sans-serif" size="2">
</font>
<table width="344" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="130"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Data
evento:</font></b></td>
<td width="214"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="text" data_evento="form[data_evento]" value="<? print stripslashes($form[data_evento]) ?>" name="text">
</font></b></td>
</tr>
<tr>
<td width="130"><b><font size="1"></font></b></td>
<td width="214"><b><font size="1"><br>
</font></b></td>
</tr>
<tr>
<td width="130"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Evento:</font></b></td>
<td width="214"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<select name="form[evento]">
<?writeOptionList("evento",$form[evento])?>
</select>
</font></b></td>
</tr>
<tr>
<td width="130"><b><font size="1"></font></b></td>
<td width="214"><b><font size="1"><br>
</font></b></td>
</tr>
<tr>
<td width="130"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Categoria:</font></b></td>
<td width="214"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<select name="form[categoria]">
<?writeOptionList("categorie",$form[categoria])?>
</select>
</font></b></td>
</tr>
<tr>
<td width="130"><b><font size="1"></font></b></td>
<td width="214"><b><font size="1"><br>
</font></b></td>
</tr>
<tr>
<td width="130"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Società:</font></b></td>
<td width="214"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="text" data_evento="form[data_evento]" value="<? print stripslashes($form[data_evento]) ?>" name="text">
</font></b></td>
</tr>
<tr>
<td width="130"><b><font size="1"></font></b></td>
<td width="214"><b><font size="1"><br>
</font></b></td>
</tr>
<tr>
<td width="130"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Cognome
atleta :</font></b></td>
<td width="214"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="text" data_evento="form[data_evento]" value="<? print stripslashes($form[data_evento]) ?>" name="text">
</font></b></td>
</tr>
<tr>
<td width="130"><b><font size="1"></font></b></td>
<td width="214"><b><font size="1"><br>
</font></b></td>
</tr>
<tr>
<td width="130"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Nome
atleta :</font></b></td>
<td width="214"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="text" data_evento="form[data_evento]" value="<? print stripslashes($form[data_evento]) ?>" name="text">
</font></b></td>
</tr>
<tr>
<td width="130"><b><font size="1"></font></b></td>
<td width="214"><b><font size="1"><br>
</font></b></td>
</tr>
<tr>
<td width="130"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Anno
atleta :</font></b></td>
<td width="214"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="text" data_evento="form[data_evento]" value="<? print stripslashes($form[data_evento]) ?>" name="text">
</font></b></td>
</tr>
<tr>
<td width="130"><b><font size="1"></font></b></td>
<td width="214"><b><font size="1"><br>
</font></b></td>
</tr>
<tr>
<td width="130"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Punteggio:</font></b></td>
<td width="214"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="text" data_evento="form[data_evento]" value="<? print stripslashes($form[data_evento]) ?>" name="text">
</font></b></td>
</tr>
<tr>
<td width="130"><b><font size="1"></font></b></td>
<td width="214"><b><font size="1"><br>
</font></b></td>
</tr>
<tr>
<td width="130"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Posizione
in classifica:</font></b></td>
<td width="214"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="text" data_evento="form[data_evento]" value="<? print stripslashes($form[data_evento]) ?>" name="text">
</font></b></td>
</tr>
<tr>
<td width="130"><b><font size="1"></font></b></td>
<td width="214"><b><font size="1"><br>
</font></b></td>
</tr>
<tr>
<td width="130"><b><font size="1"></font></b></td>
<td width="214"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
<input type="submit" value="Inserisci i dati" name="submit">
</font></b></td>
</tr>
<tr>
<td width="130"><b><font size="1"></font></b></td>
<td width="214"><b><font size="1"></font></b></td>
</tr>
</table>
<p> </p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> </font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> </font></p>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2"></textarea> </p>
</font>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> </font></p>
<font face="Verdana, Arial, Helvetica, sans-serif" size="2"></textarea> </p>
</font>
<p> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"> </font></p>
</form>
</body>
and the funtion
function writeOptionList($table,$id)
{
global $link;
$result = mysql_query("select * from $table",$link);
if (! $result)
{
print "Impossibile aprire $table<p>";
return false;
}
while ($a_row = mysql_fetch_row($result))
{
print "<option value=\"$a_row[1]\"";
if ($id == $a_row[1])
print "SELECTED";
print ">$a_row[1]\n";
}
}