Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Paperino78
    Registrato dal
    Aug 2012
    residenza
    Milano
    Messaggi
    71

    prelevare dati tabella ed aggiornarla

    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

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    "Non va" cosa vuol dire? Ti da errore? Salva un dato sbagliato? Non aggiorna niente? Spiega cosa succede.

  3. #3
    Utente di HTML.it L'avatar di Paperino78
    Registrato dal
    Aug 2012
    residenza
    Milano
    Messaggi
    71
    Vuol dire che al momento questo codice non mi aggiorna nulla, ed aggiungendo 10 punti come test al penultimo utente questo è l'errore che mi restituisce:
    Codice PHP:
    EROORE 1 

    Undefined variable
    id on line 45
    Warning
    :  Invalid argument supplied for foreach() on line 45
    questa
    :     foreach($id as $nome => $value){ 
    Codice PHP:
    Notice:  Undefined variableid on line 51
    if($update $mysqli->query("UPDATE ragazzi SET punteggio = punteggio + $agg_punti, aggiornato = NOW() WHERE id = '$id' ")){
    Dati aggiornati ed ordinati
    Non so nemmeno se il codice scritto è corretto, o almeno la logica. Mi puoi aiutare tu?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Sei all'inizio con PHP vero?
    Non puoi usare foreach() su una variabile semplice (infatti ti dice invalid argument), a foreach() devi passare un array, altrimenti su cosa cicla?

  5. #5
    Utente di HTML.it L'avatar di Paperino78
    Registrato dal
    Aug 2012
    residenza
    Milano
    Messaggi
    71
    Bravo, sono a gli inizi con php, daltronde son autodidatta ed il tempo non ne ho, in più questo problema l'ho già posto in altri siti senza avere risposte su come affrontarlo. Mi mancano le basi per comprendere quando usare e come usare tutto questo. Quindi prendo spunti ed idee da altri e li faccio miei, solo che in molte occasioni non ne vengo fuori. Mi sapresti dare un consiglio? Dimmi come devo approcciare quasto problema. Come fare per ottenere ciò che mi serve, poi scriverò il codice e spero di fare bene.

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Il tuo problema è proprio l'approccio, non è così che si impara, prendendo cose a pezzi in giro quando ti servono non imparerai mai.
    Devi andare per passi e almeno le basi te le devi fare studiando, non saltando di qua e di là.
    Negli altri forum non ti hanno risposto proprio per questo, si vede che vuoi fare le cose senza studiare seriamente e con metodo, di solito persone così non fanno simpatia e li si lascia al loro destino, non è cattiveria è che proprio è inutile stare a spiegare delle cose a chi non ha intenzione di studiare, non è lo spirito giusto per frequentare delle comunità.

  7. #7
    Utente di HTML.it L'avatar di Paperino78
    Registrato dal
    Aug 2012
    residenza
    Milano
    Messaggi
    71
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Il tuo problema è proprio l'approccio, non è così che si impara, prendendo cose a pezzi in giro quando ti servono non imparerai mai.
    Devi andare per passi e almeno le basi te le devi fare studiando, non saltando di qua e di là.
    Negli altri forum non ti hanno risposto proprio per questo, si vede che vuoi fare le cose senza studiare seriamente e con metodo, di solito persone così non fanno simpatia e li si lascia al loro destino, non è cattiveria è che proprio è inutile stare a spiegare delle cose a chi non ha intenzione di studiare, non è lo spirito giusto per frequentare delle comunità.

    Da un amministratore di un forum di questo genere mi sarei aspettato una risposta completamente diversa, che ne so un consiglio, un esempio, una dritta su dove andare a "studiare".
    Io non so se ti senti gia arrivato o quale strana idea tu ti sei fatto, probabilmente perchè tu sai benissimo e ad occhi chiuso tutte le regole di php, ma probabilmente in questo forum scrivono tutti quelli che hanno già studiato, e che seguono le TUE regole.
    Inoltre, hai anche la faccia di dare giudizi senza nemmeno sapere con chi hai a che fare, cosa che ti rende veramente poco simpatico (e mi fermo qui).
    Il fatto che io abbia scritto della mia scarsa capacità di scrivere e conoscere il php non ti autorizza a darmi lezioni di vita e su come approcciare lo studio, piuttosto se sei qui per aiutare gente che ha difficoltà allora fallo, altrimenti il post che hai scritto non ha ne utilità ne senso, ma solo lo scopo di offendere gli altri, che nemmeno conosci.
    Ci sono cose nella vita che si chiamano passioni, che ti portano ad amare argomenti senza doverli studiare con rigore scolastico e metodo, se avessi voluto studiare con metodo, avrei fatto un altra strada.

    Avrei potuto scrivere qualsiasi cosa, che "studiando e studiando ancora" non avevo capito il funzionamento, e probabilmente avresti scritto qualche pezzo di codice, o forse no, invece di scremare gli utenti a tuo giudizio.

    Infine ciò che veramente è antipatico (per non offendere, in quanto non merita) è questa frase:

    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    non è cattiveria è che proprio è inutile stare a spiegare delle cose a chi non ha intenzione di studiare.
    Non è cattiveria? Inutile? Cosa vuol dire per te inutile? O meglio cosè per te utile? Se tu lo consideri inutile spiegare a chi non sa come affrontare un problema allora non fare il moderatore, ma sii più umile, scendi da lassù e aiuta chi ha chiesto aiuto NON l'intero codice riscritto e funzionante, ma solamente una dritta. Chi ha detto poi che manca la voglia di studiare.

    Quindi se hai suggerimenti in merito al codice postato, scrivilo e farai la cosa migliore per tutto il forum e per coloro che possono avere problemi come il mio, altrimenti buona continuazione.

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Intanto datti una calmata, mi pare che nel secondo messaggio ti abbia detto il perché del messaggio d'errore, o sbaglio?
    Quindi dove sta il fatto di non volerti aiutare?

    Nel terzo messaggio ti ho solo detto il perché non ricevi risposte negli altri forum, qui l'hai ricevuta.

    Quote Originariamente inviata da Paperino78 Visualizza il messaggio
    Da un amministratore di un forum di questo genere mi sarei aspettato una risposta completamente diversa, che ne so un consiglio, un esempio, una dritta su dove andare a "studiare".
    E non l'ho fatto? Ti ho detto di studiare almeno le basi andando passo per passo, poi una volta che hai almeno delle solide basi puoi iniziare ad imparare argomenti man mano che ti servono.

    Io non so se ti senti gia arrivato o quale strana idea tu ti sei fatto, probabilmente perchè tu sai benissimo e ad occhi chiuso tutte le regole di php, ma probabilmente in questo forum scrivono tutti quelli che hanno già studiato, e che seguono le TUE regole.
    Inoltre, hai anche la faccia di dare giudizi senza nemmeno sapere con chi hai a che fare, cosa che ti rende veramente poco simpatico (e mi fermo qui).
    Sei tu che stai dando giudizi su di me, io su di te ho solo detto che di PHP ne sai poco, che non stai studiando nel modo giusto, e tu stesso me l'hai confermato, quindi ci ho preso, che giudizio antipatico ti avrei dato?
    Il fatto che io abbia scritto della mia scarsa capacità di scrivere e conoscere il php non ti autorizza a darmi lezioni di vita e su come approcciare lo studio
    Deciditi, ti devo dare consigli su come studiare o no?
    piuttosto se sei qui per aiutare gente che ha difficoltà allora fallo
    Lo stavo facendo, secondo post.
    Comunque il mio compito è quello di controllare che le discussioni filino lisce senza spam o litigi o offtopic ecc.
    Sul fatto del rispondere sono come un utente normale, non ho obblighi in tal senso.
    Ci sono cose nella vita che si chiamano passioni, che ti portano ad amare argomenti senza doverli studiare con rigore scolastico e metodo, se avessi voluto studiare con metodo, avrei fatto un altra strada.
    Ma ti porta a sbattere la testa su problemi che se avessi studiato almeno un po', problemi non sarebbero visto che in questo caso si tratta di cose basilari (capire la differenza tra un array e una variabile semplice) e risparmieresti un sacco di tempo.
    Avrei potuto scrivere qualsiasi cosa, che "studiando e studiando ancora" non avevo capito il funzionamento, e probabilmente avresti scritto qualche pezzo di codice, o forse no, invece di scremare gli utenti a tuo giudizio.
    Avrei fatto la stessa identica cosa... sempre secondo post, non è necessario scrivere codice per dire "foreach() si aspetta un array, tu gli stai passando una variabile semplice".
    Non è cattiveria? Inutile? Cosa vuol dire per te inutile? O meglio cosè per te utile? Se tu lo consideri inutile spiegare a chi non sa come affrontare un problema allora non fare il moderatore, ma sii più umile, scendi da lassù e aiuta chi ha chiesto aiuto NON l'intero codice riscritto e funzionante, ma solamente una dritta. Chi ha detto poi che manca la voglia di studiare.
    Ti ripropongo ancora di leggere il secondo post, dove ti ho risposto, non capisco perché continui a dire che dovrei risponderti se in realtà l'ho fatto.
    Quindi se hai suggerimenti in merito al codice postato, scrivilo e farai la cosa migliore per tutto il forum e per coloro che possono avere problemi come il mio, altrimenti buona continuazione.
    Già fatto, secondo post.

    Questa discussione la chiudo per evitare che degeneri, se ti servono ulteriori chiarimenti in merito alla faccenda (non il problema con PHP), puoi mandarmi un messaggio privato.
    Ultima modifica di Alhazred; 01-02-2016 a 12:32

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.