2017-07-20 4 views
1

J'ai ce problème. J'essaie de faire une fonction où je peux trier les résultats par dates dans une table. Jusqu'à présent, je suis arrivé ceci:Activer ou désactiver l'affichage entre ascendant et descendant en utilisant PHP

function wedstrijdenClub(){ 

    $laMatches = WaterpoloAPI::call("Matches", "getMatches", Array(
     "", 
     "", 
     isset($_GET["ClubId"]) ? $_GET["ClubId"] : "", 
     "", 
     "", 

    )); 

     $asc = $laMatches; 
     $desc = $laMatches ; 

     // Sort Matches ascending 
     usort($desc, function($a, $b) { 
         return stringToUnix($a->Date) - stringToUnix($b->Date); 
     }); 


     // Sort Matches descending 

     usort($asc, function($a, $b) { 
         return stringToUnix($b->Date) - stringToUnix($a->Date); 
     }); 

    echo '<div class="asc">'.implode('<br />',$asc).'</div>' ; 
    echo '<div class="desc">'.implode('<br />',$desc).'</div>' ; 

    echo "<h6 id='rcorners' style='background-color:#3db7e4; padding: 1rem; color:white;'><strong>Wedstrijden</strong></h6>"; 
    echo "<table class='hover'>"; 
    echo "<tbody >"; 

    $lnToday = strtotime(date("d-m-Y"));       
          $lcCurrent = "";       
     foreach($laMatches as $loMatch) { 
      if(stringToUnix($loMatch->Date) < $lnToday) { 
       if($lcCurrent != $loMatch->Date) {  



echo "<thead>"; 
echo "<tr >"; 
echo "<th class='text-center date'>"; 
echo "$loMatch->Date</th>"; 
echo "<th class='text-center'></th>";  
echo "<th class='text-center'></th>"; 
echo "<th class='text-center'></th>"; 
echo "</tr>";    



echo "</tr> 
      </thead>";   
       }    
       $lcCurrent = $loMatch->Date;   
      } 
    echo "<tr class='text-center'>"; 
     echo "<td >$loMatch->Time</td>"; 
     echo "<td>$loMatch->HomeTeam </td>"; 
     echo "<td><strong><a href='..\wedstrijd?MatchId=".$loMatch->Id."'>$loMatch->ResultHome - $loMatch->ResultGuest </a></strong></td>"; 
     echo "<td> $loMatch->AwayTeam</td>"; 
    echo "</tr>"; 
    } 

    echo "</tbody>"; 
    echo "</table>"; 



} 

dans ma page php

<style> div.asc, { display:block ; } div.desc { display:none ; } </style> 
    <div class="large-12 columns block asc"><?php wedstrijdenClub(); ?></div> 
       <div class="large-12 columns block desc"><?php wedstrijdenClub(); ?></div> 

       <a class="asc">Asc</a> 
<a class="desc">Desc</a> 

et dans mon pied de page

<script> 
jQuery(document).on('click','a.asc, a.desc',function(e){ 
e.preventDefault() ; 
jQuery('div.block').hide() ; 
jQuery('div.'+jQuery(this).attr('class')).show() ; 
}) ; 
</script> 

Où j'appelle une liste des correspondances. C'est la descente et l'ascension ... mais je le veux sur un clic ... comment je vais faire ça? J'apprends toujours ... désolé si c'est une question idiote.

+0

Si vous voulez faire une action sur un clic, vous devez le faire en javascript. Vous pouvez par exemple afficher vos 2 résultats dans 2 différents divs: '

' et '', puis avoir 2 boutons 'Sort ASC', et ajouter JS: ' ' –