Così come è impostato, lo script compila la query inserendo solo i valori che sono diversi dal vuoto.
In questo caso la prima informazione, "descrizione", se presente viene inserita subito senza controlli eccessivi.
Successivamente "comune", per essere inserito, deve controllare se "descrizione" è stato inserito, per poter aggiungere la virgola di separazione dei campi.
Più campi ci sono, più controlli devi fare.
Adesso che mi ci fai pensare, lo script può essere semplificato in questo modo, soprattutto per adattarlo alla verifica di molti campi:
[php]
$desc = $_POST['descrizione'];
$com = $_POST['comune'];
$nome = $_POST['nome'];
$virgola = false;
$strsql = "UPDATE iscritti SET ";
if($desc != ''){
$strsql .= "descrizione = '$desc'";
$virgola = true;
}
if($com != ''){
if($virgola)
$strsql .= ", comune = '$com'";
else
{
$strsql .= "comune = '$com'";
$virgola = true;
}
}
if($nome != ''){
if($virgola)
$strsql .= ", nome = '$nome'";
else
{
$strsql .= "nome = '$nome'";
$virgola = true;
}
}
$strsql .= " WHERE nickname='" . $_SESSION['nickname']."'";
echo $strsql;
[/php]In questo caso la variabile $virgola ha il compito di verificare se il campo precedente è stato inserito e quindi determinare se va aggiunta la virgola di separazione.
Ciao!