Visualizzazione risultati 1 fino 5 di 5

Discussione: Modificare valori numerici nel database [era: importante aiutatemi]

  1. #1
    Guest

    Predefinito Modificare valori numerici nel database [era: importante aiutatemi]

    salve a tutti ho sisogno del vostro aiuto :

    ho a disposizione un database ('sito') composto da due tabelle :

    - 'utenti' = id (autoincrementale) - username - password - valore x (che ha valore >0)

    - 'tab'= valore y

    -----------------------------------------------------------------------------

    vorrei fare il seguente progetto :

    quando un utente si logga può spingere un pulsante che si trova sulla pagina index.php (pagina principale del sito).
    Quando il pulsante viene spinto diminuisce di 1 il valore x nella tabella 'utenti' e aumenta di 10 il valore y nella tabella 'tab'

    se è possibile infine vorrei mettere sopra al bottone uno spazio di testo (o qualcosa di simile) che visualizzi il nome dell'utente che ha spinto il bottone

  2. #2
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,573

    Predefinito

    nella 'tab' dovresti aggiungere un campo dove salvare l'id dell'ultimo utente che ha premuto il bottone.

    Tutti questo (quello che chiedi sopra), lo devi fare ovviamente con le query. Puoi usare UPDATE per far questo...

    Ciao!

  3. #3
    Guest

    Predefinito

    guarda questo è il programma che quando fà il login in teoria dovrebbe diminuire quel valore x nella tabella "utenti" di 1 e aumentare di 10 il valore y nella tabella "tab":

    Codice PHP:
    <?php
    session_start
    ();


    $username= $_POST['username'];
    $password= $_POST['password'];

    if(
    $username&&$password)
    {
    $conn=mysql_connect("","","");
    mysql_select_db("***");
    $query=mysql_query("SELECT * FROM utenti WHERE username='$username'");
    $numrows = mysql_num_rows($query);
    if(
    $numrows !=0)

    {

    while(
    $row= mysql_fetch_assoc ($query))

    {

    $dbusername = $row ['username'];
    $dbpassword = $row ['password'];

    }

    if (
    $username==$dbusername&&$password==$dbpassword)

    {

    $valorex=mysql_query("SELECT FROM utenti WHERE valore x");
    $diff=$valorex-1;
    $tot = mysql_query("INSERT INTO utenti (valore x) VALUES ('$diff')");
    ;
    $valorey=mysql_query("SELECT FROM tab WHERE valore y");
    $diff2=$valorey+10;
    $tot = mysql_query("INSERT INTO utenti (valore x) VALUES ('$diff2')");
    echo
    "azione";
    $_SESSION ['username'] = $dbusername;

    }
    else

    echo
    "incorrect password";

    }
    die (
    "that username doesnt exist");


    }

    else

    die (
    "please enter a username and password");

    ?>

    il problema è che , per quanto riguarda il valore x, non me lo associa all'utente che ha spinto il pulsante .
    Come lo modificheresti tu per associare il valore x aggiornato all'utente giusto?

    la password e l'username provengono da un form a parte che tramite POST manda i dati in questo programma
    Ultima modifica di dreadnaut : 15-09-2012 alle ore 17.07.18 Motivo: + tag [php] per il codice

  4. #4
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,573

    Predefinito

    Riguardati bene la struttura delle query. Non sono corrette.

    Ciao!

  5. #5
    habbogalactica non è connesso Utente giovane
    Data registrazione
    12-06-2012
    Messaggi
    66

    Predefinito

    Prima di tutto ti consiglio di inserire la funzione mysql_real_escale_string() nelle variabili post (è vulnerabile alle sql injection il tuo script), secondo con mysql_query il risultato mi sembra sia un insieme , se vuoi aumentare o ridurre qualcosa utilizza questa sintassi:

    Codice PHP:
    $result = mysql_query("UPDATE nome_tabella SET campo = campo+1 WHERE altro_campo = 'valore desiderato'");
    Dove +1 sta per quanto vuoi aumentare o ridurre.

    Comunque se non va prova a mettere dopo la query tipo

    Codice PHP:
    if(!$stringa_query) { die(mysql_error()); }
    in modo tale da stamparti l'errore.

Regole di scrittura

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