Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    APPLICARE LQUERY PER TUTTI I RECORD

    Ciao a tutti,

    partendo da zero assoluto in quanto php e mysql, con imensa buona' volonta' sono riuscito a fare qualche cosa che si avvicini alle mie esigenze.

    Ho una tabella con 5 campi (id, squadra, king, clown, data), ed ho settato una serie di query che mi vanno a fare dei conti.
    vi riporto il lavoro.

    codice:
    //connessione mysql
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); 
    
    //stampa l'elenco dei record
    $dati = mysql_query ("select * from kow WHERE sq='real'");
    while ($array =mysql_fetch_array($dati)) {
    print "$array[2] $array[3]\n
    ";}
    
    //conta il numero di king
    $king_numero= mysql_query (" SELECT king from kow where sq='real'");
    $king_n= mysql_num_rows ($king_numero);
    print "
    Numero King: $king_n
    ";
    
    //stampa la somma dei king
    $king= mysql_query ("SELECT SUM(king) as Sommaking FROM kow where king > 0 AND sq='real'"); 
    $king_sum= mysql_fetch_array ($king);
    print "Somma King: $king_sum[0]
    ";
    
    //conta il numero di clown
    $clown_numero= mysql_query (" SELECT clown from kow where clown > 0 AND sq='real'");
    $clown_n= mysql_num_rows ($clown_numero);
    print "Numero Clown: $clown_n
    ";
    
    //stampa la somma dei clown
    $clown= mysql_query ("SELECT SUM(clown) as Sommaclown FROM kow where sq='real'"); 
    $clown_sum= mysql_fetch_row ($clown);
    print "Somma Clown: $clown_sum[0]
    ";
    
    //fai la differenza
    $totale= $king_sum[0] - $clown_sum[0];
    print "Totale: $totale
    ";
    
    //stampa il king piu' alto
    $max_king = mysql_query ("SELECT max(king) as maxking from kow where sq='real'");
    $king_max= mysql_fetch_array ($max_king);
    print "King più alto: $king_max[0]
    ";
    
    //stampa il clown piu' basso
    $min_clown = mysql_query ("SELECT min(clown) as minclown from kow where clown > 0 and sq='real'");
    $clown_min= mysql_fetch_array ($min_clown);
    print "Clown più basso: $clown_min[0]
    ";
    
    //stampa la media dei King
    $avg_king = mysql_query ("SELECT avg(king) as avgking from kow where king > 0 and sq='real'");
    $king_avg= mysql_fetch_array ($avg_king);
    print "Media King: $king_avg[0]
    ";
    
    //stampa la media dei clown
    $avg_clown = mysql_query ("SELECT avg(clown) as avgclown from kow where clown > 0 and sq='real'");
    $king_clown= mysql_fetch_array ($avg_clown);
    print "Media clown: $king_clown[0]";
    
    mysql_close($db); 
    ?>
    Funziona, ma il problema e' tutto cio' e' impostato per estrapolare i dati di una sola squadra, mentre in realta' ce ne sono 30.

    Vorrei fare in modo, di ottenere tutte queste interrogazioni, per tutte le squadre.
    Non so come fare. Ho pensato ad un ciclo di WHILE, qualcuno potrebbe indirizzarmi?

    Ho un'altra domanda.

    codice:
    print "$array[2] $array[3]\n
    ";}
    Come faccio a disporre i dati orizzontalmente?
    Cioe' se levo
    me li mette in orizzontale, a vorrei che array[2] e array [3] siano su due righe diverse.

    Grazie e scusate la domanda sicuramente banale per chi sta avanti...

    Grazie ancora

  2. #2
    <table><tr><td>King</td><td>Sommaking</td><td>clown</td><td>Sommaclown</td><td>
    maxiking</td><td>minclown</td><td>avgking</td><td>avgclown</td></tr>
    Codice PHP:
    $dati mysql_query ("select * from kow WHERE sq='real'");
    while (
    $array =mysql_fetch_array($dati)) {


    //TUTTO
    $query " SELECT king,SUM(king) as Sommaking,clown,SUM(clown) as Sommaclown,max(king) as maxiking,min(clown) as minclown,avg(king) as avgking,avg(clown) as avgclown FROM kow ORDER by Squadra 'Asc'";
    $results mysql_num_rows($query);
    while (
    $row mysql_fetch_array($result)) {

    //stampi tutto
    echo"<tr><td>$row[King]</td><td>$row[Sommaking] etc etc </tr>"; } 
    </table>


  3. #3
    Ciao!

    grazie per l'attenzione.

    Ho provato, ma mi da Parse Error su queste 2 righe

    codice:
    $results = mysql_num_rows($query); 
    while ($row = mysql_fetch_array($result))
    __________________________________________________ _________________

    Vorrei pero' capire una cosa, anzi 2 forse 3.... scusa e'....

    codice:
    <table><tr><td>King</td><td>Sommaking</td><td>clown</td><td>Sommaclown</td><td> 
    maxiking</td><td>minclown</td><td>avgking</td><td>avgclown</td></tr>
    Questo era in risposta alla mia 2° domanda?, Se si vuol dire che posso dirgli di stampare direttamente i campi virtuali (se di cio' di tratta nn ho capito bene quando gli dai AS cosa succede esattamente), ovviamente sfruttando l'html giustissimo.

    codice:
    $dati = mysql_query ("select * from kow WHERE sq='real'"); 
    while ($array =mysql_fetch_array($dati)) {
    Non ho capito, questo mi filtra i dati solo per una squadra, e poi manca la parte finale del WHILE, boh nn capisco.

    Cmq questo e' quello che ho assemblato con il tuo aiuto

    codice:
    //stampa l'elenco dei record
    $dati = mysql_query ("select * from kow WHERE sq='real'");
    while ($array =mysql_fetch_array($dati)) {
    print "$array[2] $array[3]\n
    ";}
    
    //TUTTO 
    $query = " SELECT king,SUM(king) as Sommaking,clown,SUM(clown) as Sommaclown,max(king) as maxiking,min(clown) as minclown,avg(king) as avgking,avg(clown) as avgclown FROM kow ORDER by Squadra 'Asc'"; 
    $results = mysql_num_rows($query); 
    while ($row = mysql_fetch_array($result)) { 
    
    //stampi tutto 
    echo"<tr><td>$row[King]</td><td>$row[Sommaking] etc etc </td></tr>";}
    Ovviamente scusa la tontaggine e grazie 1000

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.