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

    Aiuto con database e classifica

    Salve a tutti sono nuovo del forum, volevo chiedere un aiuto su una pagina asp che esegue un collegamento ad un database access. Ho realizzato una pagina utilizzata per una classifica calcistica che esegue delle operazioni per determinare punteggi gol e quant'altro. L'unica cosa è che in questo modo le squadre sono statiche e quindi quando vado a stampare il valore sulla cella che riguarda la squadra1 avrò sempre il valore della squadra che ho definito come squadra1. Tale problema produce una non mobilità delle squadre dentro la tabella e quindi come prima squdra non ci sarà mai quella con il punteggio più alto. io avevo pensato di determinare prima la squadra con più alto pnteggio e quindi assegnarla a squadra1 e così via...La mia domanda è questa: c'è qualcuno che mi può aiutare a determinare la squdra con punti più alti prima di eseguire le successive operazioni? questo in modo da rendere dinamica la successiva identificazione. Sono ben accette anche altre soluzioni.
    il database è così strutturato id, giornata, gol_fatti, gol_subiti, vinte, nulle, perse, squadra e punti.
    Grazie in anticipo a tutti.
    P.S. dove posso inviarvi la pagina per analizzarla?

  2. #2
    Utente di HTML.it L'avatar di ilgiovo
    Registrato dal
    Aug 2001
    Messaggi
    518
    nella query che utilizzi per caricare i dati dovresti usare la clausola "ORDER BY nomecampo" per ordinare già le squadre al momento dell'estrazione

    nel tuo caso:

    ORDER BY nome_campo_dei_punti

    nella stringa SQL della query (se posti la pagina posso dirti esattamente dove inserire il codice)
    Cacca!

  3. #3
    Non è un problema di ORDER BY in quanto effettuo le seguenti operazioni:

    var squadra1 = Cn.Execute("SELECT COUNT(*) AS squadra FROM classifica WHERE squadra = 'x1'");
    var vinte1 = Cn.Execute("SELECT SUM(vinte) AS totale FROM classifica WHERE squadra = 'x1'");
    var nulle1 = Cn.Execute("SELECT SUM(nulle) AS totale FROM classifica WHERE squadra = 'x1'");
    var perse1 = Cn.Execute("SELECT SUM(perse) AS totale FROM classifica WHERE squadra = 'x1'");
    var golfatti1 = Cn.Execute("SELECT SUM(gol_fatti) AS totale FROM classifica WHERE squadra = 'x1'");
    var golsubiti1 = Cn.Execute("SELECT SUM(gol_subiti) AS totale FROM classifica WHERE squadra = 'x1'");
    var punti1 = Cn.Execute("SELECT SUM(punti) AS totale FROM classifica WHERE squadra = 'x1'");

    questo lo ripeto per le 14 squadre, quindi squadra1 sarà x1, squdra2 sarà x2 e così via.
    Per stampare i valori:

    squdra x1
    <%=squadra1("squadra")%>
    <%=vinte1("totale")%>
    <%=nulle1("totale")%>
    <%=perse1("totale")%>
    <%=golfatti1("totale")%>
    <%=golsubiti1("totale")%>
    <%=punti1("totale")%>

  4. #4
    Utente di HTML.it L'avatar di ilgiovo
    Registrato dal
    Aug 2001
    Messaggi
    518
    se invece provassi a caricarti tutti i dati in un recordset ordinato, e poi costruisci la tua classifica semplicemente ciclando e stampando i valori dal recordset?

    in questo modo ottimizzi anche l'estrazione dei dati, invece di fare 7 query moltiplicate per 14 squadre (che mi sembra una castroneria informatica , senza offesa) ne fai una e sei a posto
    Cacca!

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.