Visualizzazione dei risultati da 1 a 8 su 8

Discussione: php: querry multiple

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    15

    php: querry multiple

    salve a tutti, ho un problemino col php xD
    praticamente ho realizzato il codice che mi consente di aggiornare il punteggio di un utente al verificarsi di in certo evento, quello che vorrei io e che quando premo invia mi aggiorna i punteggi di tutti gli utenti che soddisfano quella proprietà.
    il codice realizzato da me è il seguente e funziona ma purtroppo per un solo utente, un grazie mille in anticipo a tutti




    Codice PHP:
     <?php 
    include "DB.inc"
    if(
    $_POST['Invia']=='Invia'

        
    $id=$_POST["id"]; 
        
    $esito=$_POST["esito"]; 
        print 
    $id
        print 
    $esito
        
    $q="select username from utente_schedina where id='$id' and ris='$esito';"
        
    $t=mysql_query($q,$connessione); 
        if(
    mysql_num_rows($t)!=0
        
    $r=mysql_fetch_object($t); 
        
    $user=$r->username
        
    $q="UPDATE utente SET punteggio=punteggio+1 WHERE username='$user';"
        
    $t=mysql_query($q,$connessione); 

    ?>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Quale sarebbe la proprietà che deve essere soddisfatta?

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    15
    forse mi sono spiegato male, quello che io voglio è salvare tutti gli username della 1 query per poi uttilizzarli nella seconda query per aggiornare i rispettivi risultati.
    spero di essere riuscito a spiegarmi meglio XD

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Nella prima query hai solo l'id di un utente, non ne hai di più, quindi chi altro vorresti aggiornare?

    Se avessi più id a quel punto ti basterebbe un ciclo, ma allo stato attuale non ci fai niente, hai solo 1 valore da usare.
    Recupera tutti gli id che ti interessano, mettili in un array e cicla su questo array per fare gli aggiornamenti.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    15
    scusa la mia ignoranza, ma facendo la query:
    $q="select username from utente_schedina where id='$id' and ris='$esito';";
    non vengono presi tutti gli utenti che hanno come id=$id e come ris=$esito?
    e poi come faccio a salvare tutti gli utenti all interno di un array?
    scusa ma mi sto muovendo ora nel mondo del php XD


    ps: id è la variabile riferita alla partita quindi piu utenti possono avere lo stesso id

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Ecco, allora dovresti spiegare fin da subito a cosa si riferiscono le variabili che usi, noi non siamo nella tua testa.

    Adesso devi fare come ti ho detto sopra, usi $t, che contiene gli username che ti interessano, in un while che lo scansiona e che ad ogni iterazione fa l'aggiornamento di un utente.

    Se sei all'inizio, prima di buttarti subito ad interagire con un db, dovresti imparare per gradi.
    Te lo dico perché recuperare dati e ciclare sul risultato è una cosa che si fa costantemente su un db.

    Prima di proseguire, prenditi un po' di tempo almeno per leggere con attenzione questa guida
    http://www.html.it/guide/guida-php-e-mysql-pratica/

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    15
    grazie dell aiuto che mi stai dando =) comincierò a leggere la guida che mi hai passato, cmq ho provato a ciclare come dici tu, ma non funziona, ti posto il codice che ho realizzato per ciclare, se mi puoi dire dove sbaglio mi faresti una cortesia, grazie e scusa del disturbo
    Codice PHP:
    if($_POST['Invia']=='Invia')
    {
        
    $id=$_POST["id"];
        
    $esito=$_POST["esito"];
        print 
    $id;
        print 
    $esito;
        
    $q="select username from utente_schedina where id='$id' and ris='$esito';";
        
    $t=mysql_query($q,$connessione);
        while(
    $r=mysql_fetch_object($t))
        {
        
        
    $user=$r->username;
        
    $q="UPDATE utente SET punteggio=punteggio+1 WHERE username='$user';";
       } 
    }
    ?> 

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    15
    ho risolto come non detto, mi ero dimenticato di far eseguire la update XD giustamente ho cambiato il nome alla variabile che contettà la update.
    cmq posto il risultato magari servisse a qualcuno del forum in futuro, e cmq grazie ancora =)
    Codice PHP:
    <?php
    if($_POST['Invia']=='Invia')
    {
        
    $id=$_POST["id"];
        
    $esito=$_POST["esito"];
        print 
    $id;
        print 
    $esito;
        
    $q="select username from utente_schedina where id='$id' and ris='$esito';";
        
    $t=mysql_query($q,$connessione);
        while(
    $r=mysql_fetch_object($t))
        {
        
        
    $user=$r->username;
        
    $qi="UPDATE utente SET punteggio=punteggio+1 WHERE username='$user';";
        
    $ti=mysql_query($qi,$connessione);
       } 
    }
    ?>

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.