Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Query e non solo

  1. #1
    Utente di HTML.it L'avatar di unicorn
    Registrato dal
    Aug 2004
    Messaggi
    176

    Query e non solo

    Ciao a tutti avrei bisogno di un'aiuto su come fare delle query, ho 2 tabelle così definite

    Tab1(nomeG, voto, data)
    Tab2(nomeSquadra,nomeG, ruolo( che può essere attacc,centrale,libero), uso(che può essere Titolare, Panchin, FuoriForm), data, ......)

    QUERY 1: calcolare il punteggio realizzato da ciascuna squadra in ogni giornata di gioco
    Nota: un giocatore può appartenere a 2 o più squadre, inoltre se un titolare ha voto zero viene preso il voto
    del giocatore in panchina con lo stesso ruolo (il numero massimo di panchin per ruolo è 2)

    codice:
    $punteg=0;
    
    //seleziono tutte le squadre presenti nella tab2
    $squadra = mysql_query("SELECT DISTINCT(nomeSquadra) as nomes FROM Tab2");
    
    while ($ns = mysql_fetch_array($squadra))
    {  
        // selezion tutti i giocatori Titolari presenti in ciascuna squadra nell'ultima giornata di gioco
        $sql_T = "SELECT nomeG, ruolo FROM Tab2 WHERE nomeSquadra='".$ns['nomes']."' and data='2005-07-03' and uso='T'";
        $exec = mysql_query($sql_T) or die(mysql_error());
        
        while ($giocat = mysql_fetch_array($exec))
        { 
            // per ogni giocatore titolare estraggo il voto
            $voto_gio = mysql_query("SELECT voto FROM TAb1 WHERE nomegiocatore='".$giocat['giocatore']."' and data='2005-07-3'") or die(mysql_error());
            $vg = mysql_fetch_array($voto_gio,MYSQL_NUM);
            // se il voto del giocatore è maggiore di zero viene aggiunto al punteggio
            if($vg[0] > 0)
                $punteg = $punteg + $vg[0];
            else
            {
                // selez il voto del giocatore panchinaro con lo stesso ruolo
                $sql_P = mysql_query("SELECT Tab1.voto FROM Tab2, Tab1 WHERE Tab2.nomeG=Tab1.nomeG and Tab2.nomeSquadra='".$ns['nomes']."' and Tab2.data='2005-07-03' and uso='P' and ruolo='".$giocat['ruolo']."'");
                while ($panch = mysql_fetch_array($sql_P))
                {
                    $punteg = $punteg + $panch['Tab1.voto'];
                
                }
            }
        }
        print $punteg;
    }
    i problemi che incontro sono nel ramo else, che non va, e inoltre non riesco a tener condo del fatto che se 2 titolari con stesso ruolo
    hanno voto 0 una volta deve essere preso il voto del primo panc e una volta quello del secondo



    QUERY 2: Calcolare la media dei giocatori nelle ultime 5 giornate

    Aiutino!!!!



    Infine:

    1) come posso arrotondare un valore numerico a sole 2 cifre decimali?

    2) in una tab ho inserito la data con il formato 'aaaa-mm-gg' è possibile stamparlo come 'gg-mm-aaaa'



    GRAZIE

  2. #2
    Ti posso rispondere alle ultime due domande:

    round(numero, precisione)

    ti arrotonda

    per la data pensavo che potresti fare così:

    $data = explode("-",$data);
    $data = "$data[2]-$data[1]-$data[0]";

    Magari c'è un metodo migliore...questo è il primo che mi viene in mente
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

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.