Heim  >  Artikel  >  Backend-Entwicklung  >  关于order by问题

关于order by问题

WBOY
WBOYOriginal
2016-06-23 14:03:07814Durchsuche

类似这种的

比如说www.xxx.com/index.php?id=5&order=zhucetime

$order=$_GET['order'];
$id=$_GET['id'];


$sqltext="select * from table where n_pid='".$id."'  order by '".$order."'  asc";
 




如何实现第一次点击的时候是按asc排序   第二次点击后是按照desc排序 不断的循环切换啊?

如何实现第一次点击的时候是按asc排序   第二次点击后是按照desc排序 不断的循环切换啊?


回复讨论(解决方案)

你需要传递当前排序的方式

给个默认只,页面传递两个数组变量你排序的字段,和方式呀

我的意思是 第一次点记的时候是按照 asc排序  第二次点击的时候 怎么变成desc排序呢  给你代码..新手

我写一个只有一个条件的:

$by1=$_GET['by1'];//页面的排序条件如desc,asc$order=$_GET['order'];$id=$_GET['id'];if(!$by1){$sqltext="select * from table where n_pid='".$id."'  order by '".$order."'  asc";}else{$sqltext="select * from table where n_pid='".$id."'  order by '".$order."'  $by1";}

if(!isset($_SESSION['direction']) || $_SESSION['direction'] == 'desc'){   $_SESSION['direction'] = 'asc';}else{   $_SESSION['direction'] = 'desc';}$sql = "select * from table where n_pid='".$id."'  order by  ".$order."  ".$_SESSION['direction'];

需要多传递一个升降序参数。每次点的时候用js更改这个参数值。

另外,你这样不对输入做任何校验过滤直接放sql里非常危险!

呵呵  5楼的方法正确....有简单点的么?  jquery 之类的..或者其他方法

结贴...闪人   呵呵....

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn