Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297

    2 query insieme...come si usa join?

    Codice PHP:
    $query_punteggio mysql_query("SELECT * FROM punteggio WHERE id_utente ='".$utente['id']."'"); 
                
    $lista_punteggio mysql_num_rows($query_punteggio); 
                for (
    $_punteggio 0$_punteggio $lista_punteggio$_punteggio++) 
                { 
                    
    $punteggio mysql_fetch_assoc($query_punteggio); 

                
      
      
    $punteggio['punteggio'] = $punteggio['punteggio']+50;
     
    $updateSQL "UPDATE punteggio SET punteggio='".$punteggio['punteggio']."' WHERE id='".$utente['id']."'";
    mysql_select_db($database_connessione$connessione);
      
    $Result1 mysql_query($updateSQL$connessione) or die(mysql_error()); 
    ciao ho queste due query, la cui seconda dipende dalla prima.
    Pero' mi sa che come ho fatto io non conviene , anche se funziona....
    leggevo del metodo Join ma non ho capito come si usa
    qualcuno puo' aiutarmi?


    ciao a tutti grazie

  2. #2
    Le join si usano in fase di select mentre tu effettui una select ed un'update. Comunque mi sembra di capire che devi solamente aumentare di 50 il punteggio dell'utente ID.
    Non l'ho provato ma vedi se funziona:

    Codice PHP:
    $updateSQL "UPDATE punteggio SET punteggio = ( punteggio + 50 ) where id='".$utente['id']."'"
    In pratica sostituisci quest'unica query al posto delle 2 che attualmente esegui.
    Ovviamente il campo punteggio deve essere int.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297
    si però devo prima prelevare il valore di punteggio = ( punteggio + 50 )

  4. #4
    Prova a fare quello che ti ho detto e vedrai che funziona.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297
    ho provato in pratica non mi fa la somma e mi cancella quello vecchio e inserisce solo 50


    $updateSQL = "UPDATE punteggio SET punteggio = (".$punteggio['punteggio']." + 50 ) where id='".$utente['id']."'";

  6. #6
    Allora non ci siamo capiti!!!! Devi eseguire la query che ti ho postato COPIA E INCOLLA!!!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297
    ahahahahaha è vero funziona grazie satifal abbi pazienza ahahahah

    forte la sbotta

    me la puoi spiegare? perchè va bene che funziona pero' non l'ho capita, percio' l'avevo modificata

    grazie ancora

  8. #8
    Codice PHP:
    $updateSQL "UPDATE punteggio SET punteggio = ( punteggio + 50 ) where id='".$utente['id']."'"
    In pratica non si fa altro che inserire (aggiornare) nella colonna punteggio in valore contenuto nella colonna + 50. Quel punteggio che vedi nelle tonde non è una variabile ma MySQL lo interpreta come il contenuto (valore) della colonna punteggio alla quale viene sommato il valore 50. Ovviamente la colonna deve essere di tipo numerico perchè la cosa funzioni.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Utente bannato
    Registrato dal
    Dec 2010
    Messaggi
    297
    CAPITO GRAZIE 1000
    anche se la colonna è di tipo varchar255

  10. #10
    Buono a sapersi. Mi sembrava di aver letto da qualche parte che la colonna dovesse essere di tipo numerico, ma se funziona anche con i varchar tanto meglio.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.