PHP MYSQL - 按SORT asc / desc的按钮

时间:2015-02-11 22:58:20

标签: php mysql forms sorting button

我更倾向于如何创建一个按钮,将按照升序或降序对打印到php文件中的表中的数据进行排序。

<form name="Table Properties" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
 Order by Week
 <button type="submit" name="sort week" class="button" value="1"> Sort Week </button>
 </form>
<?php if('sort week' == true ){
    "SELECT * FROM `classes` ORDER BY `classes`.`week` ASC";
}
?>

这是我想要实现的一个简单示例,我只是停留在PHP代码方面。任何帮助都将非常感激。

3 个答案:

答案 0 :(得分:0)

我首先删除空白,然后使用$ _POST ..

捕获它
<form name="Table Properties" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
 Order by Week
 <button type="submit" name="sort_week" class="button" value="1"> Sort Week </button>
 </form>
<?php if($_POST['sort_week'] === true) {
"SELECT * FROM `classes` ORDER BY `classes`.`week` ASC";
}?>

答案 1 :(得分:0)

您正在寻找的是,在将表单发布到PHP脚本时使用的$ _POST数组,或者如果您不知道它是POST还是GET方法,则使用$ _REQUEST。

<?php 
if($_POST["sort week"] == 1 ){
    $query="SELECT * FROM `classes` ORDER BY `classes`.`week` ASC";
}
?>

答案 2 :(得分:0)

除了你已经回答的内容之外,你应该根据假装的内容来改变按钮的值。

通常,这是按顺序完成的:非分类,asc,desc。

我的意思是,该列未排序,当您第一次单击时,它会被排序为ASC,如果再次单击,则将其排序为DESC,如果再次单击,则返回到未排序。

所以在你的代码中它会是这样的:

<form name="Table Properties" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Order by Week
<?php 
 $query = "SELECT * FROM `classes` ";
 $value = 0;
switch($_POST['sort_week']) {
 case 1:
    $value = 2;
    $query .= "ORDER BY `classes`.`week` DESC";
  break;
 case 0:
  $value = 1;
    $query .= "ORDER BY `classes`.`week` ASC";
  break;
 default:
  break;
}
?>
<button type="submit" name="sort_week" class="button" value="<?php echo $value; ?>"> Sort Week </button>
</form>