2011-07-18 34 views
1

我需要做的工作之一是顯示有關表中註冊用戶的信息。它必須通過點擊按鈕(性別,名字,姓氏......)以不同的方式排序。如何使用PHP對<table>數據進行排序

我正在用PHP寫這篇文章。我想出的唯一辦法就是處理不同的頁面,但我會得到大約20個不同的頁面。

什麼是最好的實施方式?每種訂單類型都有不同的頁面?
我從來沒有使用jQuery,但它似乎會對這種事情有好處?

+0

數據是否來自數據庫? – Sudantha

+0

是的,它來自一個分區 –

+0

如果你可以使用jQuery來完成你的任務,看看[DataTables](http://datatables.net/)或[Tablesorter](http:// tablesorter的.com /)。 –

回答

3

通常這是通過一個數據庫來完成的,在這種情況下,你可以使用像MySQL這樣的語言來訪問ORDER BY,這可以幫你實現。

如果您只使用PHP(根據您的問題),請嘗試使用many-available PHP Array sort options here之一。

+0

是的,但我看到它的方式,我仍然需要訪問一個新的功能,所以我需要一個新的頁面?我在Postgres –

+0

@Lucas - 否 - 使用相同的函數 - 取決於您單擊哪個鏈接進行排序,它將函數傳遞給另一個變量進行排序。 – Dave

0

這裏是JavaScript和PHP組合的簡單值處理的例子:

做出your_file.php,插入此代碼,並上傳到您的文件夾。 (使用sortable.js腳本)

<html><head> 
<script src="sorttable.js"></script> 

<style> 
tbody tr td {color:green;border-right:1px solid;width:200px;} 
</style> 
</head><body> 

<?php 
$First = array('a', 'b', 'c', 'd'); 
$Second = array('1', '2', '3', '4'); 

if (!empty($_POST['myFirstvalues'])) 
{ $First = explode("\r\n",$_POST['myFirstvalues']); $Second = explode("\r\n",$_POST['mySecondvalues']);} 

?> 

</br>Hi User. PUT your values</br></br> 
<form action="" method="POST"> 
projectX</br> 
<textarea cols="20" rows="20" name="myFirstvalues" style="width:200px;background:url(untitled.PNG);position:relative;top:19px;Float:left;"> 
<?php foreach($First as $vv) {echo $vv."\r\n";}?> 
</textarea> 

The due amount</br> 
<textarea cols="20" rows="20" name="mySecondvalues" style="width:200px;background:url(untitled.PNG);Float:left;"> 
<?php foreach($Second as $vv) {echo $vv."\r\n";}?> 
</textarea> 
<input type="submit"> 
</form> 

<table class="sortable" style="padding:100px 0 0 300px;"> 
<thead style="background-color:#999999; color:red; font-weight: bold; cursor: default; position:relative;"> 
    <tr><th>ProjectX</th><th>Due amount</th></tr> 
</thead> 
<tbody> 

<?php 
foreach($First as $indx => $value) { 
    echo '<tr><td>'.$First[$indx].'</td><td>'.$Second[$indx].'</td></tr>'; 
} 
?> 
</tbody> 
<tfoot><tr><td>TOTAL = &nbsp;<b>111111111</b></td><td>Still to spend = &nbsp;<b>5555555</b></td></tr></tfoot></br></br> 
</table> 
</body> 
</html> 
相關問題