Buongiorno a tutti è da un bel po di tempo che cerco di venire a capo di questo problema ma senza risultati.
Vengo al dunque: ho una normalissima tabella nella quale inserisco nome, cognome, punteggio, e punti nuovi per ogni utente e questo mi serve per poter aggiornare i punteggi sul db una volta sola e per uno o più utenti senza andare manualemnte a farlo. Questo è il codice:
Codice PHP:
<?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["$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>';
}
}
?>
Il mio problema è che non riesco a capire come fare per poter prelevare il punteggio che inserisco, sommarlo al punteggio che quell'utente ha già e che prelevo dal db e aggiornare il tutto. Al momento ho scritto questo:
Codice PHP:
if(!isset($_POST['id']) || (empty($_POST['id'])) ){
echo "EROORE 1 <br>";
} else {
$id = $_POST['id'];
}
$agg_punti = $_POST['nuovi_punti'];
$nome = $_POST['nome'];
foreach($id as $nome => $value){
echo "Il nome user è $nome mentre il valore è $value <br>";
}
if($update = $mysqli->query("UPDATE ragazzi SET punteggio = punteggio + $agg_punti, aggiornato = NOW() WHERE id = '$id' ")){
echo "<p></p><div class=\"tabella\">Dati aggiornati ed ordinati!</div>";
echo "<meta http-equiv='Refresh' content='500; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
echo "<br>";
} else {
echo "Aggiornamento non riuscito!\"<br>";
echo "Errore:" . $mysqli->error .".";
}
ma ovviamente non va. Dove sbaglio? Cosa devo fare?
Grazie a tutti