Visualizzazione risultati 1 fino 7 di 7

Discussione: Aumentare di TOT numeri una query

  1. #1
    Guest

    Question Aumentare di TOT numeri una query

    Ciao a tutti.
    Non so come spiegarlo quindi passo all'esempio, ma è credo una cosa più che semplice.

    Ho una query che comprende: id (auto_increment), campo1 (TEXT) e valore1 (INT).
    Quando dalla pagina 1.php premo il bottone1, automaticamente il valore1 aumenterà di 1. Quindi, essendo prima a 0 andrà a 1, se lo ripremerò da 1 passerà a 2 e così via.
    Poi vorrei creare un altro bottone che diminuisce di uno (se però il valore è a zero non succede niente) e altri due: uno che aumenta di due e un altro di tre.
    Quindi:
    • bottone1: +1
    • bottone2: +2
    • bottone3: +3
    • bottone4: -1

    Se mi date solo un codice ce la faccio da solo.
    Grazie mille.

  2. #2
    makingweb non è connesso Utente attivo
    Data registrazione
    30-06-2009
    Messaggi
    281

    Predefinito

    Allora per prima cosa, vuoi farlo solo in php, oppure volevi fare qualcosa di dinamico in ajax?

    Comunque si tratta tutto di fare un paio di query

    Ad esempio una query per incrementare il campo potrebbe essere
    Codice PHP:
    UPDATE NOME_TABELLA SET valore1 = valore1 +1 WHERE id = $id
    Questa query incrementa il campo valore1, della tabella NOME_TABELLA dove l'id è $id (devi specificare quale record modificare con l'id)

    invece per diminuire

    Codice PHP:

    ...

    $id = $_GET['id'] ;

    $r = mysql_query("SELECT * FROM nome_tabella WHERE id=$id");
    $array = mysql_fetch_array($r);

    if(
    $array['valore1']==0){

    //qui decidi cosa fare il valore è uguale a 0 puoi mettere un die, un exit un return false, un header
    }else{

    //oppure incrementa di uno
    mysql_query("UPDATE NOME_TABELLA SET valore1 = valore1 +1 WHERE id = $id");

    }

  3. #3
    Guest

    Predefinito

    Grazie. Però se voglio diminuire e metto -1, mi da errore.
    Ultima modifica di radiodelmomento : 23-05-2011 alle ore 16.14.19

  4. #4
    makingweb non è connesso Utente attivo
    Data registrazione
    30-06-2009
    Messaggi
    281

    Predefinito

    sempre supponendo che $array['valore1'] sia maggiore di 0 fai

    Codice PHP:
    $array['valore1'] = $array['valore1'] - 1;
    e poi nella query

    Codice PHP:
    //oppure incrementa di uno
    mysql_query("UPDATE NOME_TABELLA SET valore1 = {$array['valore1']} WHERE id = $id");
    P.S. sarebbe molto utile sapere l'errore

  5. #5
    Guest

    Question

    Non è un errore, e che non mi diminuisce. Per aumentare sono riuscito a fare tutto, ma per diminuire ancora no:
    Codice PHP:
    <?php
    require_once("../connessione.php");
    if(isset(
    $_POST['-1'])){
    $id = $_GET['id'] ;
    $riga = mysql_query("SELECT * FROM tabella WHERE id=$id");
    $array = mysql_fetch_array($riga);
    $query = "UPDATE tabella SET campo = campo -1 WHERE id = $id";
    if(
    $array['valore1']==0){
    echo
    "I punti sono 0: non puoi diminuirli!";
    echo
    "<meta http-equiv='Refresh' content='2; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";

    }else{
    if(
    mysql_query($query)){
    echo
    "<span class=\"Stile2\">-1</span>";
    echo
    "<meta http-equiv='Refresh' content='0; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
    }else{
    echo
    "Errore.";
    echo
    "<meta http-equiv='Refresh' content='2; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
    }
    }
    }
    ?>
    E mi spunta il mio messaggio I punti sono 0: non puoi diminuirli!.
    Sarà che non riesce a leggere il -1.
    Grazie.
    Ultima modifica di radiodelmomento : 24-05-2011 alle ore 15.27.47

  6. #6
    Guest

    Predefinito

    Scusate problema di prima risolto (non c'è il tasto per modificarlo), ma adesso non mi funziona l'id.
    Io metto $id ma rimane sempre il primo, cioè: io metto echo "$id" e se ci sono 2 id, ad esempio 1 e 2, l'echo stampa: 11.
    Non capisco perché.

  7. #7
    Guest

    Predefinito

    Grazie per le numerose risposte ma ho risolto da solo: i form non funzionano, ho messo un collegamento con <a>. Grazie per la disponibilità di chi mi ha aiutato.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •