Javascript Php中的Mysql表排序(客户端)
任何人都可以帮助如何在php中对数据库结果进行排序吗 我已将我的代码粘贴到下面。它显示结果,但无法进行排序 这方面有什么帮助吗Javascript Php中的Mysql表排序(客户端),javascript,php,mysql,Javascript,Php,Mysql,任何人都可以帮助如何在php中对数据库结果进行排序吗 我已将我的代码粘贴到下面。它显示结果,但无法进行排序 这方面有什么帮助吗 <script language="JavaScript" type="text/javascript"> <!-- var sortedOn = 0; function SortTable(sortOn) { var table = document.getElementById('results'); var tbody
<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>
行不通,,
首先它应该id=“$job\u id.”(您的WHERE条件搜索id“job\u id”而不是$job\u id变量
第二,基于这句话,谷歌搜索“sql注入”这个词……这是一个很大的安全问题!(例如msyql_real_escape)
第三,mysql提供了订单函数……如果你想要客户端订单,构建结果,将其转换为json(json_encode)并用javascript处理,但是你的很糟糕^^
问候
Thomas调试时会发生什么?您的SortTable
函数以何种方式不起作用?代码的运行时行为与您预期的具体不同在哪里?我认为问题在于循环函数。我认为问题在于循环函数。排序只发生在第1列Hi Thomas,数据库结果是di显示得非常完美。但是我无法对数据库结果客户端进行排序。你有没有相关代码。我对JavaScript和phpnow非常陌生,我能够对结果客户端进行排序。感谢下面提到的帖子。
<?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'";