Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: ordinamento array

  1. #1

    ordinamento array

    Buonasera posso chiedervi dove sbaglio nell'ordinamento di questo array visto che non riesco a farlo ordinare in modo decrescente.
    Codice PHP:
    <?   foreach ($arrClassifica as $key => $row)
                                             
    $Somma[$key] = $row[29];
                                             
    array_multisort($SommaSORT_DESCSORT_NUMERIC$arrClassifica);
                         
    $j=1;
                         for(
    $i=0;$i<=count($arrClassifica);$i++) {
                             if(
    $arrClassifica[$i][2]==9){
                                
    $v $arrClassifica[$i][7]+$arrClassifica[$i][10];
                                
    $n $arrClassifica[$i][8]+$arrClassifica[$i][11];
                                
    $p $arrClassifica[$i][9]+$arrClassifica[$i][12];                
                                echo 
    '<tr class="righe">';
                                echo 
    '<td>'.$j.'</td>';
                                if(
    $arrClassifica[$i][3]==1)
                                    echo 
    '<td class="nomiprimo">'.$arrClassifica[$i][4].'</td>';
                                else
                                    echo 
    '<td class="nomi">'.$arrClassifica[$i][4].'</td>';                            
                                echo 
    '<td class="punti">'.$arrClassifica[$i][6].'</td>';
                                echo 
    '<td class="partite">'.$v.'</td>';
                                echo 
    '<td class="partite">'.$n.'</td>';
                                echo 
    '<td class="partite">'.$p.'</td>';
                                echo 
    '</tr>';    
                                
    $j++;
                             }
                        }
                    
    ?>
    grazie 1000 per la disponibilità.
    Ultima modifica di gladiorosso; 19-09-2016 a 20:11

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    La butto cosi. Fatti un copia prima

    Codice PHP:
    <?php
    foreach ($arrClassifica as $key => $row$Somma[$key] = $row[29];
    array_multisort($SommaSORT_DESCSORT_NUMERIC$arrClassifica);
               
    reset($arrClassifica);
               
    $j=1;
               foreach(
    $arrClassifica as $i => $subArray) {
                             if(
    $subArray[2]==9){
                                
    $v $subArray[7]+$subArray[10];
                                
    $n $subArray[8]+$subArray[11];
                                
    $p $subArray[9]+$subArray[12];                
                                echo 
    '<tr class="righe">';
                                echo 
    '<td>'.$j.'</td>';
                                if(
    $subArray[3]==1)
                                    echo 
    '<td class="nomiprimo">'.$subArray[4].'</td>';
                                else
                                    echo 
    '<td class="nomi">'.$subArray4].'</td>';                            
                                echo 
    '<td class="punti">'.$subArray[6].'</td>';
                                echo 
    '<td class="partite">'.$v.'</td>';
                                echo 
    '<td class="partite">'.$n.'</td>';
                                echo 
    '<td class="partite">'.$p.'</td>';
                                echo 
    '</tr>';    
                                
    $j++;
                             }
                        }
                    
    ?>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Quote Originariamente inviata da badaze Visualizza il messaggio
    La butto cosi. Fatti un copia prima

    Codice PHP:
    <?php
    foreach ($arrClassifica as $key => $row$Somma[$key] = $row[29];
    array_multisort($SommaSORT_DESCSORT_NUMERIC$arrClassifica);
               
    reset($arrClassifica);
               
    $j=1;
               foreach(
    $arrClassifica as $i => $subArray) {
                             if(
    $subArray[2]==9){
                                
    $v $subArray[7]+$subArray[10];
                                
    $n $subArray[8]+$subArray[11];
                                
    $p $subArray[9]+$subArray[12];                
                                echo 
    '<tr class="righe">';
                                echo 
    '<td>'.$j.'</td>';
                                if(
    $subArray[3]==1)
                                    echo 
    '<td class="nomiprimo">'.$subArray[4].'</td>';
                                else
                                    echo 
    '<td class="nomi">'.$subArray4].'</td>';                            
                                echo 
    '<td class="punti">'.$subArray[6].'</td>';
                                echo 
    '<td class="partite">'.$v.'</td>';
                                echo 
    '<td class="partite">'.$n.'</td>';
                                echo 
    '<td class="partite">'.$p.'</td>';
                                echo 
    '</tr>';    
                                
    $j++;
                             }
                        }
                    
    ?>
    Purtroppo non va...non ordina in base ai punti praticamente invariato il risultato che ti mostro in screenshot:
    Cattura.PNG

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Posta il contenuto dell'array.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Posta il contenuto dell'array.
    questo il contenuto dell'array:

    Codice PHP:
    <?php
    $arrClassifica
    =array();


    $arrClassifica[1]=array(3,7,10,1,"Atletico Pucao","Michele",6,0,0,0,2,0,0,0,0,3,1,4,71.000,69.500,72.500,1.500,66.500,142.000,71.000,69.500,72.500,1.500,66.500,142.000,0.000);
    $arrClassifica[2]=array(1,7,10,2,"Team Yujine","Eugenio",0,0,0,2,0,0,0,1,3,0,0,-6,66.500,65.500,67.500,1.000,71.000,133.000,66.500,65.500,67.500,1.000,71.000,133.000,0.000);
    $arrClassifica[3]=array(2,15,12,1,"Atletico Mamolu","Massimo",0,0,0,0,0,0,0,0,0,0,0,0,76.750,69.000,84.000,5.717,0.000,307.000,76.750,69.000,84.000,5.717,0.000,307.000,0.000);
    $arrClassifica[4]=array(3,15,12,2,"Atletico Pucao","Michele",0,0,0,0,0,0,0,0,0,0,0,0,73.125,69.500,75.500,2.382,0.000,292.500,73.125,69.500,75.500,2.382,0.000,292.500,0.000);
    $arrClassifica[5]=array(8,15,12,3,"Black Shark","Nicola",0,0,0,0,0,0,0,0,0,0,0,0,71.875,64.500,77.500,4.709,0.000,287.500,71.875,64.500,77.500,4.709,0.000,287.500,0.000);
    $arrClassifica[6]=array(9,15,12,4,"Stella Biancazzurra","Fabio S.",0,0,0,0,0,0,0,0,0,0,0,0,71.250,63.000,76.500,5.368,0.000,285.000,71.250,63.000,76.500,5.368,0.000,285.000,0.000);
    $arrClassifica[7]=array(1,15,12,5,"Team Yujine","Eugenio",0,0,0,0,0,0,0,0,0,0,0,0,70.750,65.500,80.000,5.573,0.000,283.000,70.750,65.500,80.000,5.573,0.000,283.000,0.000);
    $arrClassifica[8]=array(6,15,12,6,"Enel F.C.","Coco",0,0,0,0,0,0,0,0,0,0,0,0,70.750,68.000,77.000,3.649,0.000,283.000,70.750,68.000,77.000,3.649,0.000,283.000,0.000);
    $arrClassifica[9]=array(4,15,12,7,"Special One","Fabio R.",0,0,0,0,0,0,0,0,0,0,0,0,69.875,63.500,78.500,5.424,0.000,279.500,69.875,63.500,78.500,5.424,0.000,279.500,0.000);
    $arrClassifica[10]=array(7,15,12,8,"AC Minchia","Marco",0,0,0,0,0,0,0,0,0,0,0,0,65.875,57.000,75.000,6.656,0.000,263.500,65.875,57.000,75.000,6.656,0.000,263.500,0.000);
    $arrClassifica[11]=array(2,16,9,1,"Atletico Mamolu","Massimo",10,0,1,0,3,0,0,2,2,8,1,4,76.750,69.000,84.000,5.717,67.250,307.000,76.750,69.000,84.000,5.717,67.250,307.000,0.000);
    $arrClassifica[12]=array(3,16,9,2,"Atletico Pucao","Michele",10,1,1,0,2,0,0,3,2,4,1,2,73.125,69.500,75.500,2.382,67.875,292.500,73.125,69.500,75.500,2.382,67.875,292.500,0.000);
    $arrClassifica[13]=array(8,16,9,3,"Black Shark","Nicola",7,1,1,0,1,0,1,4,3,2,2,-1,71.875,64.500,77.500,4.709,70.625,287.500,71.875,64.500,77.500,4.709,70.625,287.500,0.000);
    $arrClassifica[14]=array(6,16,9,4,"Enel F.C.","Coco",6,1,0,1,1,0,1,3,2,2,2,-2,70.750,68.000,77.000,3.649,67.500,283.000,70.750,68.000,77.000,3.649,67.500,283.000,0.000);
    $arrClassifica[15]=array(9,16,9,5,"Stella Biancazzurra","Fabio S.",5,1,0,1,0,2,0,2,4,3,3,-3,71.250,63.000,76.500,5.368,72.750,285.000,71.250,63.000,76.500,5.368,72.750,285.000,0.000);
    $arrClassifica[16]=array(7,16,9,6,"AC Minchia","Marco",4,1,0,1,0,1,1,1,2,2,4,-4,65.875,57.000,75.000,6.656,72.750,263.500,65.875,57.000,75.000,6.656,72.750,263.500,0.000);
    $arrClassifica[17]=array(1,16,9,7,"Team Yujine","Eugenio",1,0,0,3,0,1,0,2,7,3,3,-9,70.750,65.500,80.000,5.573,76.750,283.000,70.750,65.500,80.000,5.573,76.750,283.000,0.000);
    $arrClassifica[18]=array(4,16,9,8,"Special One","Fabio R.",1,0,1,1,0,0,2,3,4,2,4,-7,69.875,63.500,78.500,5.424,74.750,279.500,69.875,63.500,78.500,5.424,74.750,279.500,0.000);
    $arrColonneClassifica=array();


    $arrColonneClassifica[1]=array(7,"11101111111111111111111111111111");
    $arrColonneClassifica[2]=array(15,"11101111111111111111111111111111");
    $arrColonneClassifica[3]=array(16,"11101111111111111111111111111111");
    $arrColonneClassifica[4]=array(17,"11101111111111111111111111111111");
    $arrColonneClassifica[5]=array(18,"11101111111111111111111111111111");
    $arrColonneClassifica[6]=array(19,"11101111111111111111111111111111");
    $arrColonneClassifica[7]=array(20,"11101111111111111111111111111111");
    $arrColonneClassifica[8]=array(21,"11101111111111111111111111111111");
    ?>

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Cosi sembra andare.

    Codice PHP:
    <?php   foreach ($arrClassifica as $key => $row$Somma[$key] = $row[29];
      
    ksort($Somma);
                         
    $j=1;
                         foreach(
    $Somma as $i => $value) {
                             if(
    $arrClassifica[$i][2]==9){
                                
    $v $arrClassifica[$i][7]+$arrClassifica[$i][10];
                                
    $n $arrClassifica[$i][8]+$arrClassifica[$i][11];
                                
    $p $arrClassifica[$i][9]+$arrClassifica[$i][12];                
                                echo 
    '<tr class="righe">';
                                echo 
    '<td>'.$j.'</td>';
                                if(
    $arrClassifica[$i][3]==1)
                                    echo 
    '<td class="nomiprimo">'.$arrClassifica[$i][4].'</td>';
                                else
                                    echo 
    '<td class="nomi">'.$arrClassifica[$i][4].'</td>';                            
                                echo 
    '<td class="punti">'.$arrClassifica[$i][6].'</td>';
                                echo 
    '<td class="partite">'.$v.'</td>';
                                echo 
    '<td class="partite">'.$n.'</td>';
                                echo 
    '<td class="partite">'.$p.'</td>';
                                echo 
    '</tr>';    
                                
    $j++;
                             }
                        }
                    
    ?>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Purtroppo no risultato invariato...ti mostro una classifica che pero funziona anche se differente da qulla che non va... l array è sempre quello...



    Codice PHP:
    <?   foreach ($arrClassifica as $key => $row)                                            $Somma[$key] = $row[29];                     array_multisort($SommaSORT_DESCSORT_NUMERIC$arrClassifica);                     $j=1;                     for($i=0;$i<=count($arrClassifica);$i++) {                         if($arrClassifica[$i][2]==8){                            if($i==0){                                echo '<tr class="righe">';                                echo '<td>1</td>';                                echo '<td class="nomiprimo">'.$arrClassifica[0][4].'</td>';                                echo '<td class="punti">'.$arrClassifica[0][29].'</td>';                                echo '</tr>';                                                        } else {                                $j++;                                echo '<tr class="righe">';                                echo '<td>'.$j.'</td>';                                echo '<td class="nomi">'.$arrClassifica[$i][4].'</td>';                                $diff=$arrClassifica[$i][29]-$arrClassifica[0][29];                                echo '<td class="punti">'.$diff.'</td>';                                echo '</tr>';                            }                         }                        }                ?>
    Ultima modifica di gladiorosso; 19-09-2016 a 22:11

  8. #8
    PERDONA la formattazione non mi viene piu indentata!

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Per me funziona. Le squadre sono ordinate per punteggio.

    Capture190916001.JPG
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    wow allora c'è qualcosa che "blocca" il mio ordinamento perchè quella parte di codice è inserita in un file piu grande forse è li l errore?

    ti mostro il file:

    codice:
    <? include 'js/fcmClassificaDati.js.php'; ?>
    	<span class="miniclassifica_compe"><img alt="" src="skin/<? echo $SubSkinReVo ?>/img/coppa_8x8.png">&nbsp;Campionato: </span>
    	<div class="table_miniclass" style="padding-bottom:5px;">
    		<table class="miniclassifica" cellpadding="0" border="0">
    			<thead>
    				<tr>
    					<td>#</td>
    					<td class="intestazione">squadra</td>
    					<td>p.ti</td>
    				</tr>
    			</thead>
    			<tbody>            	 
    				<?   foreach ($arrClassifica as $key => $row)					
    						$Somma[$key] = $row[29];
    					 array_multisort($Somma, SORT_DESC, SORT_NUMERIC, $arrClassifica);
    					 $j=1;
    					 for($i=0;$i<=count($arrClassifica);$i++) {
    						 if($arrClassifica[$i][2]==8){
    							if($i==0){
    								echo '<tr class="righe">';
    								echo '<td>1</td>';
    								echo '<td class="nomiprimo">'.$arrClassifica[0][4].'</td>';
    								echo '<td class="punti">'.$arrClassifica[0][29].'</td>';
    								echo '</tr>';							
    							} else {
    								$j++;
    								echo '<tr class="righe">';
    								echo '<td>'.$j.'</td>';
    								echo '<td class="nomi">'.$arrClassifica[$i][4].'</td>';
    								$diff=$arrClassifica[$i][29]-$arrClassifica[0][29];
    								echo '<td class="punti">'.$diff.'</td>';
    								echo '</tr>';
    							}
    						 }
    						}
    				?>
    			</tbody>
    		</table>
    	</div>
    	
            <span class="miniclassifica_compe"><img alt="" src="skin/<? echo $SubSkinReVo ?>/img/coppa_8x8.png">&nbsp;Coppa di Lega: </span>
    	<div class="table_miniclass" style="padding-bottom:5px;">
    		<table class="miniclassifica" cellpadding="0" border="0">
    			<thead>
    				<tr>
    					<td>#</td>
    					<td class="intestazione">squadra</td>
    					<td>p.ti</td>
                        <td class="partite">v</td>
                        <td class="partite">n</td>
                        <td class="partite">p</td>
    				</tr>
    			</thead>
    			<tbody>            	 
    				<?php   foreach ($arrClassifica as $key => $row) $Somma[$key] = $row[29];
                                            ksort($Somma);
                         $j=1;
                         foreach($Somma as $i => $value) {
                             if($arrClassifica[$i][2]==9){
                                $v = $arrClassifica[$i][7]+$arrClassifica[$i][10];
                                $n = $arrClassifica[$i][8]+$arrClassifica[$i][11];
                                $p = $arrClassifica[$i][9]+$arrClassifica[$i][12];                
                                echo '<tr class="righe">';
                                echo '<td>'.$j.'</td>';
                                if($arrClassifica[$i][3]==1)
                                    echo '<td class="nomiprimo">'.$arrClassifica[$i][4].'</td>';
                                else
                                    echo '<td class="nomi">'.$arrClassifica[$i][4].'</td>';
                                echo '<td class="punti">'.$arrClassifica[$i][6].'</td>';
                                echo '<td class="partite">'.$v.'</td>';
                                echo '<td class="partite">'.$n.'</td>';
                                echo '<td class="partite">'.$p.'</td>';
                                echo '</tr>';
                                $j++;
                             }
                        }
                    ?>
    			</tbody>
    		</table>
    	</div>
    
    
    	<span class="miniclassifica_compe"><img alt="" src="skin/<? echo $SubSkinReVo ?>/img/coppa_8x8.png">&nbsp;Record di giornata: </span>
    	<div class="table_miniclass">
         	<table class="miniclassifica" cellpadding="0" border="0">
                    <thead>
                        <tr>
                            <td>#</td>
                            <td class="intestazione">squadra</td>
                            <td>p.ti</td>
                        </tr>
                    </thead>
                    <tbody>
    				<?  foreach ($arrClassifica as $key => $row)
    						$Somma[$key] = $row[29];
    					array_multisort($Somma, SORT_DESC, SORT_NUMERIC, $arrClassifica);
    					$TotMax = -1;
    					foreach ($arrClassifica as $row)
    						if($row[2]==9 && $row[26]>$TotMax) {
    							$TotMax = $row[26];
    							$SqTotMax = $row[4];
    						}
    					echo '<tr class="righe">';
    					echo '<td>1</td>';
    					echo '<td class="nomiprimo">'.$SqTotMax.'</td>';
    					echo '<td class="punti">'.$TotMax.'</td>';
    					echo '</tr>';
    				?>
    			</tbody>
    		</table>
    		<br />
    	</div>

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.