Ho effettuato una piccola modifica alle tabelle in questo modo:

liste
list_id
lista_nome

liste_candidati
candidato_id
id_lista
nome_candidato

voti_sezione
id_sezione
id_candidato
voti_candidato

con questo file effettuo l'inserimento

<form action="preferenze_salva.php" method="post" name="form1" id="form" onSubmit="return controllo2(this)">
Codice PHP:
<?php
$query 
"SELECT * FROM liste LEFT JOIN liste_candidati ON (lista_id=id_lista) WHERE id_lista = 1 
          order by candidato_id"

$result mysql_query($query) or die(mysql_error());
while (
$row mysql_fetch_assoc($result))
{
print 
" ".$row['candidato_id']." ".$row['nome_candidato']." ";
?>
<input name="sez" type="text" id="id_candidato" value="<?php print $_POST['sez']; ?>">
<input name="id_candidato" type="text" id="id_candidato" value="<?php print $row['candidato_id']; ?>">
<input name="voti_candidato" type="text" id="voti_candidato" onKeyUp="SoloNumeri(this)" size="2" maxlength="5">


Codice PHP:
<?php
}
?>
<div id=bottone>
<input type="image" src="../img/bottoni/salva.gif" name="Submit" id="Submit" border="0" class="tasto_grande" value=" " />
</div>
</div>
</form>
</div>
Codice PHP:
<?php }?>
con questo effettuo il salvataggio

Codice PHP:
mysql_query("insert into voti_sezione (id_sezione,id_candidato,voti_candidato) 
                         VALUES ('
$_POST[sez]','$_POST[id_candidato]','$_POST[voti_candidato]');"); 
in questo modo mi salva solo l'utimo dato e non tutti quelli che inserisco nella form.