Dopo test e prove questo il codice corretto, se qualcuno avesse consigli su migliorie sarebbero ben accetti,altrimenti direi di chiudere.
Questo è il motore di update al db
$new_score= ($punteggio + $agg_punti);
if($update = $mysqli->query("UPDATE ragazzi SET punteggio = $new_score, aggiornato = NOW() WHERE id = '$id' ")){
echo "<p></p><div class=\"tabella\">Dati aggiornati ed ordinati!</div>";
echo "<meta http-equiv='Refresh' content='5; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
} else {
echo "Aggiornamento non riuscito!\"<br>";
echo "Errore:" . $mysqli->error .".";
}
mentre qua ilcodice html con recupero dati dal db per ogni utente
<label class="form_admin">Utente</label><label class="form_admin">Punti</label><label class="form_admin">Punti nuovi</label><label>Aggiornato a:</label><p></p>
<?php
if($result = $mysqli->query("SELECT id,nome,cognome,punteggio,aggiornato FROM ragazzi ORDER BY punteggio DESC")){
while ($row = $result->fetch_assoc())
{
echo '<input type="hidden" name="id" value="'.$row['id'].'">';
echo '<input type="text" name="nome" value="'.$row['nome'].' '.$row['cognome'].'" readonly="readonly">';
echo '<input type="text" name="punteggio" value="'. $row['punteggio'].'" readonly="readonly" >';
echo '<input type="number" class="onlyNumber" name="nuovi_punti" value="0" min="0">';
echo '<input type="time" name="data" value="'.$row['aggiornato'].'" readonly="readonly"><br><br>';
}
}
?>
Ho aggiunto il campo "aggiornato" al db per sapere quando è stato fatto l'ultimo update, il problema invece era che non potevo inserire i dati nel db e quindi aggiornarli in quanto con POST dell'id prendevo il value che io mettevo come nome e cognome dell'utente. Ho quindi creato un altro campo input nascosto legato ad ogni utente grazie al quale associo l'id e posso fare l'update al db. Se qualcuno avesse un'idea diversa , migliore, rimango a disposizione.
Grazie a tutti