PHP操作数据库排序问题
数据库结构与数据,先新建一个nisshope数据库,后可以直接导入:
test.php页面:
如上为数据库与PHP页面
目的为修改先后顺序.
1.比如,将顺序那一栏中的顺序 1与2手动对调一下, test.php会更改对应的顺序显示;
2.更改之后,我再次将1与2对调,此时就不行了,不能将数据库里面的tg_sid对调过来,该怎么办啊?
困扰我很多天了~~ 谢谢
-- phpMyAdmin SQL Dump
-- version 3.3.9
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2011 年 11 月 10 日 03:16
-- 服务器版本: 5.5.8
-- PHP 版本: 5.3.5
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 */;
--
-- 数据库: `nisshope`
--
-- --------------------------------------------------------
--
-- 表的结构 `tg_pe_user`
--
CREATE TABLE IF NOT EXISTS `tg_pe_user` (
`tg_id` smallint(4) unsigned NOT NULL AUTO_INCREMENT COMMENT '//自动编号',
`tg_sid` smallint(4) unsigned NOT NULL DEFAULT '0' COMMENT '//排序ID',
`tg_usernumber` varchar(10) NOT NULL COMMENT '//员工工号',
`tg_username` varchar(20) NOT NULL COMMENT '//员工姓名',
`tg_txtday` char(2) NOT NULL COMMENT '//班别',
`tg_addname` varchar(20) NOT NULL COMMENT '//添加人',
`tg_date` datetime NOT NULL COMMENT '//日期',
PRIMARY KEY (`tg_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=20 ;
--
-- 转存表中的数据 `tg_pe_user`
--
INSERT INTO `tg_pe_user` (`tg_id`, `tg_sid`, `tg_usernumber`, `tg_username`, `tg_txtday`, `tg_addname`, `tg_date`) VALUES
(1, 1, 'C060403', '劉小軍', '', '', '2011-10-21 15:07:22'),
(2, 2, 'C080502', '帥曉霞', '', '', '2011-10-21 15:07:31'),
(3, 3, 'C050702', '張莉', '', '', '2011-10-21 15:08:11'),
(4, 4, 'S1102495', '席容芳', '', '', '2011-10-21 15:08:40'),
(5, 5, 'C060902', '李雲峰', '', '', '2011-10-21 15:09:24'),
(6, 6, 'F1007006', '胡國清', '', '', '2011-10-21 15:09:49'),
(7, 7, 'F1007010', '司志強', '', '', '2011-10-21 15:10:11'),
(8, 8, 'C050907', '王文俊', '', '', '2011-10-21 15:10:31'),
(9, 9, 'F1009122', '周林縣', '', '', '2011-10-21 15:13:14'),
(10, 10, 'F1003018', '范超', '', '', '2011-10-21 15:13:30'),
(11, 11, 'F1106068', '韋獻文', '', '', '2011-10-21 15:14:14'),
(12, 12, 'S1103022', '陳國國', '', '', '2011-10-21 15:14:37'),
(13, 13, 'F1103011', '鄒仕平', '', '', '2011-10-21 15:16:19'),
(14, 14, 'F1103018', '耿磊', '', '', '2011-10-21 15:16:43'),
(15, 15, 'F1105038', '王小威', '', '', '2011-10-21 15:17:04'),
(16, 16, 'F1003180', '楊世偉', '', '', '2011-10-21 15:17:42'),
(17, 17, 'F1107002', '牛偉', '', '', '2011-10-21 15:18:02'),
(18, 18, 'H1108031', '王全良', '', '', '2011-10-21 15:18:33');
test.php页面:
<?php
mysql_connect("localhost","root","");
mysql_select_db("nisshope");
mysql_query("set names utf8");
//接收新的顺序
if ($_GET['action'] == 'upsort' && isset($_POST['sid'])) {
//接收数据
$_num = mysql_num_rows(mysql_query("SELECT tg_id FROM tg_pe_user"));
$_arr = $_POST['sid'];
foreach ($_arr as $_order => $_item) {
$_id = $_order + 1;
mysql_query("UPDATE tg_pe_user SET tg_sid = $_item WHERE tg_id = $_id ");
}
}
//读取数据
$_result = mysql_query("SELECT
tg_id,
tg_sid,
tg_username,
tg_usernumber,
tg_date
FROM
tg_pe_user
ORDER BY
tg_sid ASC
");
?>
<!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=utf-8" />
<title>设置</title>
</head>
<body>
<div id="content">
<h5>设置排序</h5>
<form method="post" action="?action=upsort">
<table>
<tbody>
<tr><th>工号</th><th>姓名</th><th>顺序</th></tr>
<?php
while (!!$_rows = mysql_fetch_array($_result)) {
echo '<tr><td>'.$_rows['tg_usernumber'].'</td><td>'.$_rows['tg_username'].'</td><td><input type="text" name="sid[]" maxlength="2" value="'.$_rows['tg_sid'].'"/></td></tr>';
}
?>
<tr><td colspan="3" class="modify"><input name="submit" type="submit" value="修改" /></td></tr>
</tbody>
</table>
</form>
</div>
</body>
</html>
如上为数据库与PHP页面
目的为修改先后顺序.
1.比如,将顺序那一栏中的顺序 1与2手动对调一下, test.php会更改对应的顺序显示;
2.更改之后,我再次将1与2对调,此时就不行了,不能将数据库里面的tg_sid对调过来,该怎么办啊?
困扰我很多天了~~ 谢谢
...全文
相关推荐
CodeIgniter配置之database.php用法实例分析
主要介绍了CodeIgniter配置之database.php用法,结合实例形式较为详细的分析总结了CodeIgniter常用的数据库连接方式,需要的朋友可以参考下
8、PHP 数组操作全解析
本文全面解析了PHP数组的各种操作方法,包括处理数据库查询结果、遍历数组的不同方式、数组排序技巧(按值排序、按键排序、自定义排序)、使用数组实现栈结构以及数组的切片与拼接。同时,还介绍了实际应用场景和注意事项,帮助开发者更高效地处理和管理数据。
Mysql数据库编码问题 (修改数据库,表,字段编码为utf8)
个人建议,数据库字符集尽量使用 utf8(HTML页面对应的是utf-8),以使你的数据能很顺利的实现迁移
PHP使用PDO操作数据库的乱码问题解决方法
主要介绍了PHP使用PDO操作数据库的乱码问题解决方法,实例分析了编码设置及属性设置解决乱码问题的实现技巧,需要的朋友可以参考下
php+mysql简单增删改查demo带数据库
php+mysql简单增删改查demo带数据库,直接导入运行index.php即可,


基础编程

