Beh un array di norma parte da 0.. e non da 1, i fornitori ti partono da 1 perché prima incrementi $i e poi associ il nome...

$i = 0;
while ($row = mysql_fetch_array($risultato,MYSQL_ASSOC))
{
echo "<input type=\"hidden\" name=\"id_riga[$i]\" value=\"".$row["id_riga"]."\" />";
$i++;
echo "<tr><td>Fornitore</td>\n";
$fornitori = "select * from `ana_forn`";
$lista_fornitori = mysql_query($fornitori) or die ("non eseguo la query fornitori");
echo "<td><select name=\"fornitori[$i]\">\n";