no non era solo quello. lo riporto in versione integrale.
Codice PHP:
<?php
// richiamo il file di configurazione
require 'config.php';
// richiamo lo script responsabile della connessione a MySQL
require 'connect.php';
if($_POST && isset($_GET['id']))
{
aggiorna_record();
}
elseif(isset($_GET['id']))
{
mostra_record();
}
else
mostra_lista();
function mostra_lista()
{
$terreno_arr = array('erba','riscaldata','sintetico','ultimagen');
// mostro un eventuale messaggio
if(isset($_GET['msg']))
echo '<b>'.htmlentities($_GET['msg']).'</b><br /><br />';
// preparo la query
$query = "SELECT id,nome,soldi,terreno FROM fanta_squadra";
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
echo '
<table border="1">
<tr>
<th>Nome</th>
<th>soldi</th>
<th>terreno</th>
<th> </th>
</tr>';
while ($row = mysql_fetch_assoc($result))
{
$nome = htmlspecialchars($row['nome']);
$soldi = htmlspecialchars($row['soldi']);
$terreno = $terreno_arr[$row['terreno']];
// preparo il link per la modifica dei dati del record
$link = $_SERVER['PHP_SELF'] . '?id=' . $row['id'];
echo "<tr>
<td>$nome</td>
<td>$soldi</td>
<td>$terreno</td>
<td><a href=\"$link\">migliora</a></td>
</tr>";
}
echo '</table>';
// libero la memoria di PHP occupata dai record estratti con la SELECT
mysql_free_result($result);
// chiudo la connessione a MySQL
mysql_close();
}
function aggiorna_record()
{
//definisco le variabili di costo upgrade
$costo_up2 = 250000;
$costo_up3 = 300000;
$costo_up4 = 350000;
// recupero gli altri campi
$soldi = intval($_POST['soldi']);
$terreno = intval($_POST['terreno']);
$resto2 = $soldi - $costo_up2;
$resto3 = $soldi - $costo_up3;
$resto4 = $soldi - $costo_up4;
$id = intval($_GET['id']);
//controllo i vari casi
switch ($terreno) {
case '0':
if ($soldi >= $costo_up2) {
$query = "UPDATE fanta_squadra SET
soldi = '$resto2',
terreno = '1'
WHERE id = $id";
} else { echo ' non hai abbastanza soldi '; }
break;
case '1':
if ($soldi >= $costo_up3) {
$query = "UPDATE fanta_squadra SET
soldi = '$resto3',
terreno = '2'
WHERE id = $id";
} else { echo ' non hai abbastanza soldi'; }
break;
case '2':
if ($soldi >= $costo_up4) {
$query = "UPDATE fanta_squadra SET
soldi = '$resto4',
terreno = '3'
WHERE id = $id";
} else { echo ' non hai abbastanza soldi'; }
break;
case '3':
echo ' hai migliorato il terreno al massimo ' ;
break;
}
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
// chiudo la connessione a MySQL
mysql_close();
$messaggio = urlencode('Aggiornamento effettuato con successo');
header("location: http://laclessidra.altervista.org/fantacalcio/teams/amm_squadre.php");//redirect
exit;
}
function mostra_record()
{
// mostro un eventuale messaggio
if(isset($_GET['msg']))
echo '<b>'.htmlentities($_GET['msg']).'</b><br /><br />';
$id = intval($_GET['id']);
// preparo la query
$query = "SELECT soldi,terreno FROM fanta_squadra WHERE id = $id";
// invio la query
$result = mysql_query($query);
// controllo l'esito
if (!$result) {
die("Errore nella query $query: " . mysql_error());
}
// controllo che la SELECT abbia restituito un record
// l'id passato via GET potrebbe essere stato manipolato
if(mysql_num_rows($result) != 1) {
die("l'ID passato via GET è errato");
}
list($soldi,$terreno) = mysql_fetch_row($result);
?>
<p>
<label>terreno
<select name="terreno">
<option value="1" <?if($terreno==1) echo 'selected="selected"'?>>erba riscaldata</option>
<option value="2" <?if($terreno==2) echo 'selected="selected"'?>>sintetico</option>
<option value="3" <?if($terreno==3) echo 'selected="selected"'?>>sintetico di ultima generazione</option>
</select>
</label>
</p>
<p>
<input name="invia" type="submit" value="migliora" />
</p>
</form>
<?
}
?>
lo scopo di questo è che l'utente possa modificare il terreno.
che sia possibile passare da erba a riscaldato. da riscaldato a sintetico. e poi a sintetico di ultima generazione. e che in tutti i passaggi venga controllato che soldi>=costo e memorizzi il nuovo costo