ciao a tutti, volevo modificare un file che utilizzo per inserire dati nel database relativamente alla mia squadra di calcetto. ad ora inserisco cognome, nome, goals, vittorie pareggi e sconfitte attraverso un modulo che poi interagisce attraverso il file incriminato.
Volevo aggiungere un campo per i goals subiti dal portiere ma ho un problema sul file di inserimento vero e proprio al punto 2, in pratica devo aggiungere l'opzione per inserire i dati nel campo SUBITI, vi posto il codice:

Codice PHP:
<?
include("config.inc.php");
$db = mysql_connect($host, $username);
if (
$db == FALSE)
die (
"Errore nella connessione. Verificare i parametri nel file config.inc.php");

mysql_select_db($database, $db)
or die (
"Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

// 1. Crea la tabella temporanea
$query = "CREATE TABLE tmp_calcetto (
id INT (5) UNSIGNED not null,
goals INT (5) UNSIGNED not null,
subiti INT (5) UNSIGNED not null,
vittorie INT (5) UNSIGNED not null,
pareggi INT (5) UNSIGNED not null,
sconfitte INT (5) UNSIGNED not null)"
;

if (
mysql_query($query, $db))
echo
"Creazione tabella temporanea eseguita correttamente";
else
echo
"Errore durante creazione tabella temporanea";

// 1-bis. Inserisce i nuovi giocatori, se impostati
$new_player = false;
$query = "INSERT INTO calcetto (cognome, nome, goals, subiti, vittorie, pareggi, sconfitte) VALUES ";
$i = 0;
// cognome e nome devono essere entrambi compilati
while (isset ($_POST['cognome' . ++$i]) && $_POST['cognome' . $i] != NULL && $_POST['cognome' . $i] != '' && $_POST['nome' . $i] != NULL && $_POST['nome' . $i] != NULL)
{
$query .= "('" . $_POST['cognome' . $i] . "', '" . $_POST['nome' . $i] . "', 0, 0, 0, 0, 0), ";
$new_player = true;
}
if (
$new_player)
{
$query = substr ($query, 0, strlen ($query) - 2);
if (
mysql_query($query, $db))
echo
"Inserimento nuovo giocatore eseguito correttamente";
else
echo
"Errore durante inserimento nuovo giocatore";
}

// 2. Inizia la costruzione della query di inserimento...
$query = "INSERT INTO tmp_calcetto (id, goals, subiti, vittorie, pareggi, sconfitte) VALUES ";
$i = 0;
while (isset (
$_POST['goals' . ++$i]))
{
if (
$_POST['goals' . $i] == '' || $_POST['goals' . $i] == NULL)
$values = '(' . $i . ', 0, ';
else
$values = '(' . $i . ', ' . $_POST['goals' . $i] . ', ';
switch (
$_POST['result' . $i])
{
case
'4': $values .= '1, 0, 0), '; break;
case
'2': $values .= '0, 1, 0), '; break;
case
'1': $values .= '0, 0, 1), '; break;
default:
$values .= '0, 0, 0), '; break;
}
$query .= $values;
}

// ... poi elimina l'ultima virgola di troppo e la esegue
$query = substr ($query, 0, strlen ($query) - 2);

if (
mysql_query($query, $db))
echo
"Inserimento dati in tabella temporanea eseguito correttamente";
else
echo
"Errore durante inserimento dati nella tabella temporanea";

// 3. Effettua l'aggiornamento
$query = "UPDATE calcetto, tmp_calcetto
SET calcetto.vittorie = calcetto.vittorie + tmp_calcetto.vittorie,
calcetto.pareggi = calcetto.pareggi + tmp_calcetto.pareggi,
calcetto.sconfitte = calcetto.sconfitte + tmp_calcetto.sconfitte,
calcetto.goals = calcetto.goals + tmp_calcetto.goals
WHERE calcetto.id = tmp_calcetto.id"
;

if (
mysql_query($query, $db))
echo
"Aggiornamento del database eseguito correttamente";
else
echo
"Errore durante aggiornamento del database";

// 4. Distruggi la tabella temporanea
$query = "DROP TABLE tmp_calcetto";

if (
mysql_query ($query, $db))
echo (
"Operazione completata!");
else
echo (
"Eliminazione della tabella temporanea non riuscita :-(");
?>