任何人都可以帮助如何在php中对数据库结果进行排序
我已经在下面粘贴了我的代码。它显示结果,但无法完成排序。

这方面的任何帮助

    <script language="JavaScript" type="text/javascript">
<!--
var sortedOn = 0;

function SortTable(sortOn) {

    var table = document.getElementById('results');
    var tbody = table.getElementsByTagName('tbody')[0];
    var rows = tbody.getElementsByTagName('tr');

    var rowArray = new Array();
    for (var i=0, length=rows.length; i<length; i++) {
        rowArray[i] = rows[i].cloneNode(true);
    }

    if (sortOn == sortedOn) { rowArray.reverse(); }
    else {
        sortedOn = sortOn;
        if (sortedOn == 0) {
            rowArray.sort(RowCompareNumbers);
        }
        else if (sortedOn == 3) {
            rowArray.sort(RowCompareDollars);
        }
        else {
            rowArray.sort(RowCompare);
        }
    }

    var newTbody = document.createElement('tbody');
    for (var i=0, length=rowArray.length; i<length; i++) {
        newTbody.appendChild(rowArray[i]);
    }

    table.replaceChild(newTbody, tbody);
}

function RowCompare(a, b) {

    var aVal = a.getElementsByTagName('td')[sortedOn].firstChild.nodeValue;
    var bVal = b.getElementsByTagName('td')[sortedOn].firstChild.nodeValue;
    return (aVal == bVal ? 0 : (aVal > bVal ? 1 : -1));
}

function RowCompareNumbers(a, b) {


    var aVal = parseInt(a.getElementsByTagName('td')
     [sortedOn].firstChild.nodeValue);
    var bVal = parseInt(b.getElementsByTagName('td')

    [sortedOn].firstChild.nodeValue);
    return (aVal - bVal);
}

function RowCompareDollars(a, b) {

    var aVal = parseFloat(a.getElementsByTagName('td')
       [sortedOn].firstChild.nodeValue.substr(1));
    var bVal = parseFloat(b.getElementsByTagName('td')
        [sortedOn].firstChild.nodeValue.substr(1));
    return (aVal - bVal);
}

//-->
</script>


PHP MySql查询

 <?php
 $job_id = $_GET['id'] ;
 $sql="SELECT date, fullname, city, education from table_name
 WHERE  id = 'job_id'";
 $result=mysql_query($sql); ?>


 <table id="results" style="width:980px;">
<thead>
 <tr>
 <th style="width:60px;"><a onclick="SortTable(0);" href="javascript:;">Date</a></th>
  <th style="width:150px;"><a onclick="SortTable(1);" href="javascript:;">Name</a></th>
 <th style="width:70px;"><a onclick="SortTable(2);" href="javascript:;">City</a></th>
 <th style="width:70px;"><a onclick="SortTable(3);"href="javascript:;">Education</a>
 </th>



   

<?php while($rows=mysql_fetch_array($result)){

?>

<tbody>
<tr>
<td>1</td>
<td><? echo $fullname ; ?></td>
<td><? echo $city ; ?></td>
<td><? echo $b_education ; ?></td>

</tr>

</tbody>



<?
}
?>
</table>

最佳答案

 $job_id = $_GET['id'] ;
 $sql="SELECT date, fullname, city, education from table_name
 WHERE  id = 'job_id'";


不管用,
首先,它应该id ='“。$ job_id。”'(在您的条件搜索ID“ job_id”而不是$ job_id变量的情况下

基于此行的第二条,谷歌单词“ SQL注入” ...多数民众赞成在一个大的安全问题! (例如,msyql_real_escape)

第三,mysql提供了ORDER函数...如果您希望客户端顺序,则生成结果,将其转换为json(json_encode)并使用javascript处理,但您却很cr脚^^

问候
汤玛士

09-25 18:23
查看更多