2009-07-10 2 views
0

Я хочу написать функцию, чтобы пользователь щелкнул мышью по заголовку таблицы двойным щелчком и изменил нисходящий или восходящий порядок, и я закончил функцию сортировки, но не знаю, как собрать, теперь я просто поставить один из них в заголовок следующим образом:как поставить две функции вместе

function sortBy(sKey) 
{ 
    document.sortResultsForm.sSortBy.value=sKey; 
    document.sortResultsForm.submit(); 
} 

if($sSortBy=="District") 
{ 
    usort($tempArr, 'sortDistrictNameascend'); 
} 

<table border="0" width="100%" cellspacing="2" cellpadding="2"> 
    <tr> <td class="headTable" width=15%> 
    <a href="javascript:sortBy('District');" 
     ><font color=white>District</font></a> 
    </td> 

, и я не знаю, как поставить другую функцию в заголовке пусть пользователь может дважды щелкнуть, чтобы изменить порядок сортировки, функция заказа следующим образом :

function sortDistrictNamedescend($a, $b) 
{ 
    if ($a->DistrictName == $b->DistrictName) 
    { 
     return 0; 
    } 
    return ($a->DistrictName < $b->DistrictName) ? 1 : -1; 
} 

usort($tempArr, 'sortDistrictNamedescend'); 

Любой может мне помочь, спасибо.

+4

Вы, кажется, очень смущены. Половина этого кода - PHP, другая половина - JavaScript. –

ответ

2

Вы должны проверить «порядка сортировки» переменной:

mypage.php?sort=asc и mypage.php?sort=desc

В вашем PHP скрипт, вы будете проверять значение $_GET["sort"];, если его убывание "вы даете печать на данные в обратном порядке. Если это «asc», вы печатаете его в алфавитном порядке.

<?php 

    $data = get_data(); 

    if ($_GET["sort"] == "desc") 
    reverse_data(); 

    # print data 

?> 

Поскольку JavaScript не может напрямую общаться с PHP, единственным вариантом является передача значений через URL или через форму.