Ordinare tabella in base ad un campo

di il
1 risposte

Ordinare tabella in base ad un campo

Ciao a tutti!
Apro questo topic sperando nell'aiuto di qualcuno... visto che da altre parti (forum dedicati) non ho risposte. Sto realizzando un sito con Joomla e utilizzo il componente JoomLeague per la gestione di campionato di basket. Vorrei fare una modifica al codice di una pagina, ovvero quella della visualizzazione del roster della squadra ordinata non per RUOLO (position) come impostato ma per numeri di maglia (position_number).

Questa è la pagina in questione... le giocatrici sono ordinate per ruolo...
http://lnx.tarantocrasbasket.com/index.php?option=com_joomleague&func=showPlayers&p=1&ttid=4&Itemid=79

Allego il codice della pagina....
<?php 

// Display players
if ( count( $rows > 0 ) ) 
{ 
  ?>
  <table width="85%" align="center" border="0" cellpadding="3" cellspacing="0">
  <?php
  $k = 0;
  $position = "";
  for ($i=0, $n=count( $rows ); $i < $n; $i++) 
  {
    $row = &$rows[$i];
    
    // Display position separator ?
    if ( $position != $row->position )
    {
      $position = $row->position;
      $k = 0;
      ?>
      <tr class="sectiontableheader">
        <td width="60%" colspan="<?php 
            echo ((isset($showPlayers_config['show_birthday']) && $showPlayers_config['show_birthday'] == 1) ? '6' : '5'); ?>
            ">
        </td>
        <?php
        if ($showPlayers_config['show_stats']==1) { 
          if ( $overall_config['use_jl_substitution'] == 1 ) {
            if ( $showPlayers_config['show_games_played'] ) {
              ?>
              <td align="center"><img src="<?php echo JL_TEMPLATE_FOLDERS_URL.'/images/shirt.png';?>" height="20" alt="<?php
                echo _JL_PLAYER_PLAYED;
                ?>" />
              </td>
              <?php
            }
            if ( $showPlayers_config['show_substitution_stats'] ) {
              ?>
              <td align="center"><img src="<?php echo JL_TEMPLATE_FOLDERS_URL.'/images/in.png';?>" alt="<?php echo _JL_PLAYER_IN;?>" /></td>
              <td align="center"><img src="<?php echo JL_TEMPLATE_FOLDERS_URL.'/images/out.png';?>" alt="<?php echo _JL_PLAYER_OUT;?>" /></td>
              <?php
            }
   			  }
   			  if (isset($PosEventtypes[$row->position_id]) && $overall_config['use_jl_events']) if ( count($PosEventtypes[$row->position_id]) )
   			  {
            foreach ($PosEventtypes[$row->position_id] AS $eventtype) {
              echo '<td align="center"><img src="'._JOOMLA_JL_LIVE_SITE.'/images/joomleague/event_icons/'.$eventtype->icon.'" alt="'.$eventtype->name.'" title="'.$eventtype->name.'" align="top" hspace="2" /></td>';
            }
   			  }
   			}
      	?>
      </tr>
      <?php
    }
    
    // Display players rows
    ?>
    <tr class="<?php echo ($k == 0)? 'sectiontableentry1' : 'sectiontableentry2'; ?>">
      <td width="30" align="center">
        <?php
        if ( $showPlayers_config['show_player_numbers'] == 1 ) {
        	if ($showPlayers_config['player_numbers_pictures']==1 && function_exists('imagecreatefrompng')) { ?>
          <img src="<?php echo JL_TEMPLATE_FOLDERS_URL;?>/images/shirt.php?text=<?php echo ($row->position_number!=0) ? $row->position_number : '';?>" alt="<?php echo $row->position_number;?>" />
          <?php
        	}
        	else { echo ($row->position_number!='') ? $row->position_number : '&nbsp;'; }
        }
        else echo '&nbsp;'; ?>
      </td>
      
      
      
      <td width="100">
      <?php echo $position; ?>
      </td>
      
      
      
      <td width="40" align="center" nowrap="nowrap">
        <?php 
        if ( $showPlayers_config['show_player_icon'] == 1 ) 
        {
          // look for picture in Playertool first
		      if ( $row->picture && file_exists( _JOOMLA_JL_PATH.'/'.$row->picture ) ) {
		         $picture = $row->picture;
		      }
		      // otherzise, look for defqult picture on player objet
		      else if ( $row->default_picture && file_exists( _JOOMLA_JL_PATH.'/'.$row->default_picture ) ) {
		        $picture = $row->default_picture;
		      }
		      else {
		        $picture = null;
		      }
		      
		      if ( $picture ) 
		      {
            $Thumb = new PowerThumb();
            $Thumb->setSrc( $picture );
            $Thumb->setDescription( $row->description );
            $Thumb->setAlt( $row->firstname." ".$row->lastname );
            $Thumb->setMaxHeight( 30 );
            $Thumb->setAmpliationLink( false) ;
            //$Thumb->setFilter("gray");
            $Thumb->create();
          }
        }
        ?>
      </td>
      <td style="width:250;">
        <?php 
        if ( $showPlayers_config['link_player'] == 1 ) 
        { 
          ?>
          <a href="<?php echo sefRelToAbs(JL_COMPONENT_LINK."&func=showPlayer&p=$joomleague->id&pid=$row->pid".JL_ITEMID_SUFFIX);?>">
          <?php printf("<i>%s %s</i>",$row->firstname,$row->lastname);?></a>
          <?php 
        } 
        else {
          printf("<i>%s %s</i>",$row->firstname,$row->lastname);
        }
        ?>
      </td>
      <td width="5%" align="left">
      	<?php 
        if( $row->injury > 0 && $row->injury_end > $joomleague->current_round ) {
          echo '<img src="'.JL_TEMPLATE_FOLDERS_URL.'images/injured.gif" alt="" />';
        }
        ?>
      	<?php 
        if( $row->suspension > 0 && $row->suspension_end > $joomleague->current_round) {
          echo '<img src="'.JL_TEMPLATE_FOLDERS_URL.'images/suspension.gif" alt="" />';
        }
        ?>    
      </td>     
      <td style="width:16px;" nowrap="nowrap" align="left">
        <?php
        if ( $row->nation )
        {
          $thiscountry = new Country($database);
          $thiscountry->load($row->nation);
          echo $thiscountry->getFlag();
        }
        else {
          print '&nbsp;';
        }
        ?>
      </td>
      <?php 
      if ( isset($showPlayers_config['show_birthday']) 
          && $showPlayers_config['show_birthday'] == 1) 
      {
        ?>
        <td width="10%" nowrap="nowrap" align="left">
        <?php printf("%s (%s)", mbiFormatDate($row->birthday,_JL_PLAYERS_BIRTHDATE_DATE),
        getAge( $row->birthday, $joomleague->start_date )); ?>
        </td>
        <?php
      }
      if ($showPlayers_config['show_stats']==1) {
        if ( $overall_config['use_jl_substitution'] ) {
          $query = "SELECT count(mp.id) as played, sum(mp.came_in) as sub_in, sum(mp.out = 1) AS sub_out
                     FROM #__joomleague_match_players AS mp LEFT join #__joomleague_matches AS m ON mp.match_id = m.match_id 
                     WHERE mp.player_id = '".$row->player_id."' AND m.project_id = '".$joomleague->id."'";
          $database->setQuery($query);
          $inoutstat = $database->loadObjectList();
          if ($inoutstat[0]->played > 0) {
            if ( $showPlayers_config['show_games_played'] ) {
              echo '<td align="center" nowrap="nowrap">'.$inoutstat[0]->played;
              if ($showPlayers_config['show_substitution_stats'] == 1) {
               echo ' <acronym title="'._JL_STARTING_ROSTERS.'">('
               .(($inoutstat[0]->played - $inoutstat[0]->sub_in > 0) ? $inoutstat[0]->played - $inoutstat[0]->sub_in : '-')
               .')</acronym>';
              }              
              echo '</td>';
            }
            if ( $showPlayers_config['show_substitution_stats'] ) {
               echo '<td align="center">'.(($inoutstat[0]->sub_in > 0) ? $inoutstat[0]->sub_in : '-').'</td>';
               echo '<td align="center">'.(($inoutstat[0]->sub_out > 0) ? $inoutstat[0]->sub_out : '-').'</td>';
             }
          }
          else {
            if ( $showPlayers_config['show_games_played'] ) {
              echo '<td align="center">-</td>';
            }
            if ( $showPlayers_config['show_substitution_stats'] ) {
              echo '<td align="center">-</td><td align="center">-</td>';
            }
          }
        }
        if (isset($PosEventtypes[$row->position_id]) && $overall_config['use_jl_events']) if ( count( $PosEventtypes[$row->position_id] ) )
        {
          foreach ($playerStats[$row->id] AS $eventId => $stat) 
          {
    	      	echo '<td align="center">';
    	      	echo ($stat!=""&&$stat>0)?$stat:"-";
    	      	echo '</td>';
    	    }
        }
	 }?>
    </tr>
<?php
    $k = 1 - $k;
  }
?>
Dovrei cambiare quell'if... credo
// Display position separator ?
if ( $position != $row->position )
{
$position = $row->position;
$k = 0;
che stampa i record ordinati per ruolo... con uno semplice che stampi i record ordinati per numero di maglia....
non sono molto pratico di php... qualcuno può aiutarmi??
Grazie!

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte