salve a tutti, sono nuovo e ho appena finito di leggere la parte riguardante come fare per modificare dei campi di una tabella del database nella guida sul php-mysql.

l'esempio che è presente nella guida permette di creare un file.php che mi permette di modificare i dati che ho inserito al momento dell'iscrizione. riporto il codice per maggiore chiarezza.
l'ho semplificato perchè il mio dubbio prevede un file dove io devo modificare i dati di un solo campo, esempio il campo attività.
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()
{
    
// mostro un eventuale messaggio
    
if(isset($_GET['msg']))
        echo 
'[b]'.htmlentities($_GET['msg']).'[/b]

'
;

    
// preparo la query
    
$query "SELECT nome FROM prova_utenti";

    
// 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></th>
        </tr>'
;

    while (
$row mysql_fetch_assoc($result))
    {
        
$nome htmlspecialchars($row['nome']);

        
// preparo il link per la modifica dei dati del record
        
$link $_SERVER['PHP_SELF'] . '?id=' $row['id'];

        echo 
"<tr>
                <td>
$nome</td>
                <td><a href=\"
$link\">modifica</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()
{
    
// recupero i campi di tipo "stringa"
    
$nome      trim($_POST['nome']);

    
// verifico se devo eliminare gli slash inseriti automaticamente da PHP
    
if(get_magic_quotes_gpc())
    {
        
$nome      stripslashes($nome);

    }

    
// effettuo l'escape dei caratteri speciali per inserirli all'interno della query
    
$nome      mysql_real_escape_string($nome);

    
// recupero gli altri campi del form
    
$attivita   intval($_POST['attivita']);

    
$id intval($_GET['id']);

    
// verifico la presenza dei campi obbligatori
    
if(!$nome)
    {
        
$messaggio urlencode("Non hai inserito il nome");
        
header("location: $_SERVER[PHP_SELF]?id=$id&msg=$messaggio");
        exit;
    }

    
// preparo la query
    
$query "UPDATE prova_utenti SET
                nome = '
$nome',
                attivita = 
$attivita,
                WHERE id = 
$id";

    
// 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: $_SERVER[PHP_SELF]?msg=$messaggio");
}

function 
mostra_record()
{
    
// mostro un eventuale messaggio
    
if(isset($_GET['msg']))
        echo 
'[b]'.htmlentities($_GET['msg']).'[/b]

'
;

    
$id intval($_GET['id']);

    
// preparo la query
    
$query "SELECT nome,attivita FROM prova_utenti 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(
$nome,$attivita) = mysql_fetch_row($result);

    
$nome      htmlspecialchars($nome);

    
?>
    <form name="form_registrazione" method="post" action="">
      <label>nome:
      <input name="nome" type="text" value="<?echo $nome?>" />
      </label>
      


      


        <label>attivit&agrave;:
        <select name="attivita">
          <option value="0">:: seleziona ::</option>
          <option value="1" <?if($attivita==1) echo 'selected="selected"'?>>studente</option>
          <option value="2" <?if($attivita==2) echo 'selected="selected"'?>>lavoratore</option>
          <option value="3" <?if($attivita==3) echo 'selected="selected"'?>>disoccupato</option>
        </select>
        </label>
      </p>
      


        <input name="invia" type="submit" value="Invia" />
      </p>
    </form>
    <?
}
?>
vorrei sapere però, se io volessi modificare il campo attività. ma solo in determinati casi, come faccio?
mi spiego meglio.
il mio intento sarebbe quello di inserire una variabile numerica (che per esempio vale 500) e ogni utente possiede già un'altra variabile numerica, che varia a seconda dell'utente.

a questo punto vorrei verificare che:
-se l'utente nel campo attività è impostato come studente possa modificarlo solo con LAVORATORE. però la modifica sia possibile solo dopo che ho controllato che che la variabile numerica dell'utente sia maggiore della variabile numerica 500. altrimenti dia errore con messaggio visualizzato "variabile numerica insufficiente".
-se l'utente nel campo attività è impostato come lavoratore possa modificarlo solo con DISOCCUPATO. e la modifica sia possibile solo dopo che ho controllato che che la variabile numerica dell'utente sia maggiore della variabile numerica 500. altrimenti dia errore con messaggio visualizzato "variabile numerica insufficiente".
- se l'utente nel campo attività è impostato come DISOCCUPATO, non sia possibile fare nessuna modifica e mi dia un messaggio "modificato al massimo".
- nei casi in cui uno studente voglia passare a disoccupato o altri passaggi non citati sopra mi dia un messaggio di errore "operazione non consentita".

è possibile creare un codice del genere?

grazie mille per la vostra pazienza e disponibilità

quindi