php sortable 动态排序
php sortable 动态排序未分页版.php
预览图:

<?php
mysql_connect("localhost","root","root");
mysql_select_db("test");
mysql_query("SET CHARACTER SET GB2312");
if($_POST["reorder"]){
$i=1;
foreach ($_POST["fruit"] as $fruit_id){
$query="update `fruit` set `order`='$i' where `id`='$fruit_id'";
mysql_query($query);
$i++;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>宋正河作品--php sortable 动态排序未分页版</title>
<style>
ul li{
font-size:14px;
list-style-type:none;
background:#33CCFF;
margin:5px;
padding:5px;
border:1px solid #666666;
width:300px;
cursor:pointer;
}
</style>
<script language="JavaScript" type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script language="JavaScript" type="text/javascript" src="js/jquery-ui.js"></script>
<script language="JavaScript" type="text/javascript" src="js/ui.core.js"></script>
<script language="JavaScript" type="text/javascript" src="js/ui.sortable.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#fruit_list').sortable();
});
</script>
</head>
<body>
<div align="center">
<form name="form1" method="post" action="">
<ul id="fruit_list">
<?php
$query="select * from `fruit` order by `order` ASC";
$result=mysql_query($query);
while($row=mysql_fetch_assoc($result)){
echo '<li><input type="hidden" name="fruit[]" value="'.$row["id"].'" />'.'ID:'.$row["id"].' | '.'名称:'.$row["name"].' | '.'序号:'.$row["order"].'</li>';
}
?>
</ul>
<input type="submit" name="reorder" value="重新排序" />
</form>
拖动相应的项目进行排序,序号越小越靠前
</div>
</body>
</html>
php sortable 动态排序分页版.php
预览图:

<?php
mysql_connect("localhost","root","root");
mysql_select_db("test");
mysql_query("SET CHARACTER SET GB2312");
//分页函数 调用 $common_func->pages();$total_num为总记录数,$page_id为当前页码,$add为链接地址(可选),$pagesize为新闻条数
function pages($total_num,$page_id,$add,$pagesize){
$total_page=ceil($total_num/$pagesize);
$up=$page_id-1;
$down=$page_id+1;
if($page_id==1){
echo "<<首页 ";
}else{
echo "<a href=".$add."page_id=1><<首页</a> ";
}
if($up<1){
$up=1;
echo "<span style=\"color:grey;\"><上一页</span> ";
}else {
echo "<a href=".$add."page_id=".$up."><上一页</a> ";
}
echo "<select onchange=\"window.location='".$add."page_id='+this.value;\">";
for($i=1;$i<=$total_page;$i++){
if($i==$page_id){
echo "<option value=\"".$i."\" selected=\"selected\"> ".$i."/".$total_page." </option>";
}else{
echo "<option value=\"".$i."\"> ".$i."/".$total_page." </option>";
}
}
echo "</select>";
if($down>$total_page){
$down=$total_page;
echo " <span style=\"color:grey;\">下一页></span> ";
}else {
echo " <a href=".$add."page_id=".$down.">下一页></a> ";
}
if($page_id==$total_page){
echo "尾页>>";
}else{
echo "<a href=".$add."page_id=$total_page>尾页>></a>";
}
echo " 共".$total_num."条记录 每页显示".$pagesize."条";
}
//分页函数
$page_id=intval(trim($_GET["page_id"]));
$page_id=($page_id=="")?"1":$page_id;
$page_id=($page_id>0)?$page_id:"1";
$pagesize=intval(trim($_GET["pagesize"]));
$pagesize=($pagesize=="")?"3":$pagesize;
$pagesize=($pagesize>0)?$pagesize:"3";
$begin=($page_id-1)*$pagesize;
if($_POST["reorder"]){
$i=$begin+1;
foreach ($_POST["fruit"] as $fruit_id){
$query="update `fruit` set `order`='$i' where `id`='$fruit_id'";
mysql_query($query);
$i++;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>宋正河作品--php sortable 动态排序分页版</title>
<style>
ul li{
font-size:14px;
list-style-type:none;
background:#33CCFF;
margin:5px;
padding:5px;
border:1px solid #666666;
width:300px;
cursor:pointer;
}
</style>
<script language="JavaScript" type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script language="JavaScript" type="text/javascript" src="js/jquery-ui.js"></script>
<script language="JavaScript" type="text/javascript" src="js/ui.core.js"></script>
<script language="JavaScript" type="text/javascript" src="js/ui.sortable.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#fruit_list').sortable();
});
</script>
</head>
<body>
<div align="center">
<form name="form1" method="post" action="">
<ul id="fruit_list">
<?php
$query="select * from `fruit` order by `order` ASC";
$result=mysql_query($query);
$total_num=mysql_num_rows($result);
$add="?";
$query=$query." limit $begin,$pagesize";
pages($total_num,$page_id,$add,$pagesize);
$result=mysql_query($query);
while($row=mysql_fetch_assoc($result)){
echo '<li><input type="hidden" name="fruit[]" value="'.$row["id"].'" />'.'ID:'.$row["id"].' | '.'名称:'.$row["name"].' | '.'序号:'.$row["order"].'</li>';
}
?>
</ul>
<input type="submit" name="reorder" value="重新排序" />
</form>
拖动相应的项目进行排序,序号越小越靠前<br />
<a href="?pagesize=<?php echo $total_num;?>">显示全部</a> | <a href="?pagesize=3">分页显示</a>
</div>
</body>
</html>
test.sql
-- phpMyAdmin SQL Dump
-- version 3.1.5-rc1
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2011 年 01 月 08 日 06:22
-- 服务器版本: 5.0.18
-- PHP 版本: 5.2.8
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- 数据库: `test`
--
-- --------------------------------------------------------
--
-- 表的结构 `fruit`
--
CREATE TABLE IF NOT EXISTS `fruit` (
`id` int(11) unsigned NOT NULL auto_increment,
`name` varchar(256) NOT NULL,
`order` int(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=7 ;
--
-- 导出表中的数据 `fruit`
--
INSERT INTO `fruit` (`id`, `name`, `order`) VALUES
(1, '苹果', 5),
(2, '西瓜', 2),
(3, '菠萝', 1),
(4, '桃子', 4),
(5, '樱桃', 3),
(6, '桔子', 6);
这篇文章是受他人的启发,自己抽空参照网友的文章写的,大家多提意见,原文本空间也顺便转了一下,在它的基础上改进了一些东西,希望大家喜欢,谢谢~
php sortable 动态排序的更多相关文章
- ActiveReports 报表应用教程 (9)---交互式报表之动态排序
在 ActiveReports 中除了提供对数据源进行排序的功能之外,还提供了最终用户排序功能,最终用户可以对报表进行区域内排序和整个数据源排序,结合数据钻取.过滤等功能可以让用户更方便地分析报表数据 ...
- linq扩展之动态排序
前两天看QQ群里面,一位朋友问的问题,说在linq中怎么实现动态排序呢,自己想了半天,没有头绪,网上找了下相关的资料,看了下,收益挺多,记录下来. 之前我们没有如果不知道动态排序的方法的话,我们可能会 ...
- excel动态去重和动态排序
其实去重和排序的方法很多,没有哪一种更好,实时去重总会省一些时间,刚好也练习了下数组公式 动态去重: =IF(ROW()<=COUNTA(员工基础数据!H:H),INDEX(员工基础数据!H:H ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(17)-LinQ动态排序
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(17)-LinQ动态排序 首先修复程序中的一个BUG这个BUG在GridPager类中,把sord修改为s ...
- LinQ动态排序
LinQ动态排序 首先修复程序中的一个BUG这个BUG在GridPager类中,把sord修改为sort这个名称填写错误,会导致后台一直无法获取datagrid的排序字段 本来是没有这一讲的,为了使2 ...
- 写一个针对IQueryable<T>的扩展方法支持动态排序
所谓的动态排序是指支持任意字段.任意升序降序的排序.我们希望在客户端按如下格式写: localhost:8000/api/items?sort=titlelocalhost:8000/api/item ...
- Java如何操作对象(bean)进行动态排序?
原文出自:https://blog.csdn.net/seesun2012 简介如题:Java如何操作对象(bean)进行动态排序?Java实体类(bean)动态排序? 原理:利用反射根据指定的属性值 ...
- 动态排序JavaBean
Java中如果对对象排序可以考虑实现Comparable接口,但是需要排序的属性一旦指定就不能再修改.BeanUtils组件提供了对JavaBean动态排序的支持,即可以在运行时指定排序的属性.实例运 ...
- MySQL 按照数据库表字段动态排序 查询列表信息
MySQL 按照数据库表字段动态排序 查询列表信息 背景描述 项目中数据列表分页展示的时候,前端使用的Table组件,每列自带对当前页的数据进行升序或者降序的排序. 但是客户期望:随机点击某一列的时候 ...
随机推荐
- 初始化glew,创建OpenGL渲染上下文
void RegisterWinDowClass(HINSTANCE hInstance,std::string className,WNDPROC proc) { WNDCLASS wndClass ...
- Eclipse配置Flex开发环境(转)
Eclipse配置Flex开发环境 开发环境:Eclipse3.2.Flex Builder31.下载安装Flex Builder3,下载地址:http://subject.csdn.net/adob ...
- Node 实现 AES 加密,结果输出为“byte”。
Node 实现 AES 加密,结果输出为"byte". 最近做个需求,对接一个平台的接口,该平台采用 AES (Advanced Encryption Standard)加密算法, ...
- 《Java编程那点事儿》读书笔记(一)——基本数据结构
觉得自己记忆力很烂的样子,读书不做笔记就好像没读一样,所以决定以后读技术类的书籍,都要做好笔记. 1.IP地址和域名:如果把IP地址类比成身份证号的话,域名就是持证人的名字. 2.端口:规定一个 设备 ...
- Lepus经历收获杂谈(二)——QT
QT简介及相关使用指南 1.QT Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架.它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器.Qt是面向对象的框 ...
- 线段树总结 (转载 里面有扫描线类 还有NotOnlySuccess线段树大神的地址)
转载自:http://blog.csdn.net/shiqi_614/article/details/8228102 之前做了些线段树相关的题目,开学一段时间后,想着把它整理下,完成了大牛NotOnl ...
- mysql JDBC URL格式各个参数详解
mysql JDBC URL格式如下: jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值 ...
- 51nod1189 阶乘分数
(x-n!)(y-n!)=n!2 ans=t[n]+1.t表示的是n!2的小于n!的约数个数.n!2=p1a1*p2a2*p3a3...t[n]=(a1+1)*(a2+1)...-1 /2; 2对于n ...
- jquerymobile使用技巧
1)ajax开关(默认jquery以ajax方式加载页面) $.mobile.ajaxEnabled = false; 2)不编译指定标签 $.mobile.page.prototype.option ...
- web项目路径问题
路径 相对路径 URL中第一个字符不为“/” request.getRequestDispatcher("b"); 相对于该代码所在 ...