salve ragazzi,
qualcuno ha un'idea di come avendo 20 variabili di tipo numerico decimali e 20 variabili di tipo stringa associate si possa fare una procedura di ordinamento?
Grazie
salve ragazzi,
qualcuno ha un'idea di come avendo 20 variabili di tipo numerico decimali e 20 variabili di tipo stringa associate si possa fare una procedura di ordinamento?
Grazie
Il modo più veloce è usare adodb...
Qualche info in più?
nulla di speciale, come già detto ho 20 variabili di tipo numerico decimale esterne ad un db poichè il db è già stato aperto, elaborato e chiuso, e le 20 variabili numeriche per l'appunto sono il risultato dell'elaborazione.
le 20 di tipo stringa sono i nomi delle 20 sezioni ora dovrei poter ordinare il diagramma che sto sviluppando in maniera da avere in alto la sezione col numero maggiore, in basso quella col numero minore il classico ordine decrescente.
se poi vuoi avere un'idea più chiara della situazione ti posto pure il link...
Grazie![]()
Vorrei vedere un po' di codice.
Come le hai queste venti variabili in un array ? in un recordset? sono 20 veriabili distinte? come sono legate alle altre 20?
sono tutte variabili distinte...Originariamente inviato da Baol74
Vorrei vedere un po' di codice.
Come le hai queste venti variabili in un array ? in un recordset? sono 20 veriabili distinte? come sono legate alle altre 20?
per farti capire:
queste quelle numeriche dove per ogni sezione determino la percentuale di frequenza....codice:Percentuale_aerei = round((Conta_aerei/Conteggio_totale)*100,2) Percentuale_animali = round((Conta_animali/Conteggio_totale)*100,2) Percentuale_auto = round((Conta_auto/Conteggio_totale)*100,2) Percentuale_cantanti = round((Conta_cantanti/Conteggio_totale)*100,2) Percentuale_cartoni = round((Conta_cartoni/Conteggio_totale)*100,2) Percentuale_celebrita = round((Conta_celebrita/Conteggio_totale)*100,2) Percentuale_creature = round((Conta_creature/Conteggio_totale)*100,2) Percentuale_eros = round((Conta_eros/Conteggio_totale)*100,2) Percentuale_film = round((Conta_film/Conteggio_totale)*100,2) Percentuale_imbarcazioni = round((Conta_imbarcazioni/Conteggio_totale)*100,2) Percentuale_insetti = round((Conta_insetti/Conteggio_totale)*100,2) Percentuale_localita = round((Conta_localita/Conteggio_totale)*100,2) Percentuale_manga = round((Conta_manga/Conteggio_totale)*100,2) Percentuale_moto = round((Conta_moto/Conteggio_totale)*100,2) Percentuale_panorami = round((Conta_panorami/Conteggio_totale)*100,2) Percentuale_pesci = round((Conta_pesci/Conteggio_totale)*100,2) Percentuale_spazio = round((Conta_spazio/Conteggio_totale)*100,2) Percentuale_sport = round((Conta_sport/Conteggio_totale)*100,2) Percentuale_uccelli = round((Conta_uccelli/Conteggio_totale)*100,2) Percentuale_vario = round((Conta_vario/Conteggio_totale)*100,2)
quelle testuali sono appunto relative alle 20 sezioni
Certo è che il codice che risulta è abbastanza pasticciato, sicuramente lo puoi ottimizzarecodice:Set Rs = Server.CreateObject("ADODB.Recordset") Rs.Fields.Append "Descrizione",200,255 Rs.Fields.Append "Percentuale",5,-1 Rs.Open() Rs.AddNew Rs("Descrizione")="Aerei" Rs("Percentuale")=Percentuale_aerei Rs.Update Rs.AddNew Rs("Descrizione")="Animali" Rs("Percentuale")=Percentuale_animali Rs.Update Rs.Sort="Percentuale" Response.Write("<table>") Rs.MoveFirst While Not Rs.EOF Response.Write("<tr><td>" & rs("Descrizione")& "</td> <td>" & Rs("Percentuale")& "</td></tr>") Rs.MoveNext Wend Response.Write("</Table>")
si ho notato....Originariamente inviato da Baol74
Certo è che il codice che risulta è abbastanza pasticciato, sicuramente lo puoi ottimizzarecodice:Set Rs = Server.CreateObject("ADODB.Recordset") Rs.Fields.Append "Descrizione",200,255 Rs.Fields.Append "Percentuale",5,-1 Rs.Open() Rs.AddNew Rs("Descrizione")="Aerei" Rs("Percentuale")=Percentuale_aerei Rs.Update Rs.AddNew Rs("Descrizione")="Animali" Rs("Percentuale")=Percentuale_animali Rs.Update Rs.Sort="Percentuale" Response.Write("<table>") Rs.MoveFirst While Not Rs.EOF Response.Write("<tr><td>" & rs("Descrizione")& "</td> <td>" & Rs("Percentuale")& "</td></tr>") Rs.MoveNext Wend Response.Write("</Table>")![]()
guarda se questa può essere un'altra soluzione... almeno io l'ho pensata così... ci saranno sicuramente degli errori nel scriverla in fretta...codice:dim arrayNomi(20) dim arrayPerc(20) 'carico gli array arrayNomi(0)= arrayNomi(1)= arrayNomi(2)= arrayNomi(3)= arrayNomi(4)= arrayNomi(5)= arrayNomi(6)= arrayNomi(7)= arrayNomi(8)= arrayNomi(9)= arrayNomi(10)= arrayNomi(11)= arrayNomi(12)= arrayNomi(13)= arrayNomi(14)= arrayNomi(15)= arrayNomi(16)= arrayNomi(17)= arrayNomi(18)= arrayNomi(19)= arrayPerc(0)= arrayPerc(1)= arrayPerc(2)= arrayPerc(3)= arrayPerc(4)= arrayPerc(5)= arrayPerc(6)= arrayPerc(7)= arrayPerc(8)= arrayPerc(9)= arrayPerc(10)= arrayPerc(11)= arrayPerc(12)= arrayPerc(13)= arrayPerc(14)= arrayPerc(15)= arrayPerc(16)= arrayPerc(17)= arrayPerc(18)= arrayPerc(19)= for i= 0 to 18 for j= i to 19 if cdbl(arrayPerc(i))<cdbl(arrayPerc(j)) then tempPerc=arrayPerc(j) tempNome=arrayNomi(j) arrayPerc(j)=arrayPerc(i) arrayNomi(j)=arrayNomi(i) arrayPerc(i)=tempPerc arrayNomi(i)=tempNome end if next next
Io ti propongo questa:
Se mi fai vedere tutta la pagina te lo sintetizzo in poche righecodice:Class MyRecordset Public Rs Public Totale Private Sub Class_Initialize() Set Rs = Server.CreateObject("ADODB.Recordset") Rs.Fields.Append "Descrizione",200,255 Rs.Fields.Append "Percentuale",5,-1 Rs.Open() End Sub Public Sub Close() Rs.Close() End Sub Private Sub Class_Terminate() Set Rs = Nothing End Sub Public Sub Add(Desc,Value) Rs.AddNew Rs("Descrizione") = Desc Rs("Percentuale") = round((Value/Totale)*100,2) Rs.Update End Sub Public Sub Sort(value) Rs.Sort = value End Sub Public Sub Print() Response.Write("<table>") Rs.MoveFirst While Not Rs.EOF Response.Write("<tr><td>" & rs("Descrizione")& "</td> <td>" & Rs("Percentuale")& "</td></tr>") Rs.MoveNext Wend Response.Write("</Table>") End Sub End Class Set Rs = new MyRecordset Rs.Totale = Conta_Totale Rs.Add "Aerei",Conta_Aerei Rs.Add "Eros",Conta_eros Rs.Sort "Percentuale" Rs.Print() Rs.Close() Set Rs=Nothing
La classe puoi metterla in un'include, Tutti le variabili conta mi sembrano inutili, probabilmente puoi farne a meno.
Il tuo codice è un'ordinamento di array... ma è più veloce ado
miii tutta la pagina... saranno oltre 1500 righe include compresi....
se vuoi taglio il codice la dove andrebbe applicata la procedura e te lo posto... è più umana come parte rispetto a tutto il codice html compreso...![]()
No,va bè. Comunque il modo più veloce è quello sopra. Se poi fai la classe risparmi un bel po di righe di codice... e mi raccomando togli le variabli conta_