都2天了,这个问题还没解决,急啊。。。

phpmyxinshou 2010-08-24 09:23:46
如何实现这功能.

点击ID或者开始时间字段时(后面有个向上gif图标),指定字段按升排序

然后ID或者还是时间字段后的图标换了一个(如向下图标),再点时就会按降排序

请问这全部过程具体如何实现,小弟感激流涕.


$where = "where 1";
if(!empty($ziduan) && !empty($txt_sousuo)){
$where .= " and $ziduan like '%{$txt_sousuo}%'";
}
$sql = "SELECT count(*) as countnum FROM hotel_activities_2 $where ";
$result=mysql_fetch_array(mysql_query($sql));
$countnum = $result['countnum'];
if(!$countnum) die("<script>alert('查询的数据不存在');window.location='chaxun.php';</script>");

$rowsPerPage=10;
$maxPage=ceil($countnum/$rowsPerPage);
$page=isset($_GET['curPage'])?intval($_GET['curPage']):1;
$page = $page<1?1:$page;
$page = $page>$maxPage?$maxPage:$page;

$start=$rowsPerPage*($page-1);
$sel1 = "SELECT * FROM hotel_activities_2 $where order by h_id limit $start,$rowsPerPage";
//$sel1="SELECT * FROM hotel_activities_2 $where order by h_id, start_date, end_date desc limit $start,$rowsPerPage";
/*$sql_paixv="select * from hotel_activities_2 order by";
$orderby = $_GET['orderby'];
switch ($orderby)
{
case "":
//对不同的值构造不同的SQL语句
$sql_paixv = $sql_paixv."hotel_id"; break;
case "hotel_id" :
$sql_paixv = $sql_paixv."hotel_id";break;
case "hotel_id desc" :
$sql_paixv = $sql_paixv."hotel_id desc";break;
case "start_date" :
$sql_paixv = $sql_paixv."start_date";break;
case "start_date desc" :
$sql_paixv = $sql_paixv."start_date desc";break;
}
//最多返回多少条结果
$rs= mysql_query($sql_paixv);*/

echo "<table border=1 width=800 cellspacing=0 style=border-collapse:collapse>";
echo '<tr style=background-image:url(img/new_hader_27.jpg) height=30 class="chaxun_head">'.'
<th>'.'选择'.'</th>';
echo "<th><a href=?orderby="; if (@$_GET['oderby']=="hotel_id")
//根据$orderby参数生成不同的链接
echo "hotel_id desc";
else
echo "hotel_id";
echo ">酒店ID</a></th>";
echo '<th>'.'<a href="#" style="text-decoration: underline;">'.'开始时间'.'</a>'.'</th>';
echo '<th>'.'<a href="#" style="text-decoration: underline;">'.'结束时间'.'</a>'.'</th>';
echo '<th>'.'内容介绍'.'</th>'.'<th>'.'备注'.'</th>'.'<th>'.'s_type'.'</th>'.'<th>'.'操作'.'</th>'.'</tr>';

$result=mysql_query($sel1) or die("查询失败");
//循环输出表中各个字段值
echo '<form action="delect_sj.php" method=post>';
while ($row = mysql_fetch_array($result)) {
echo '<tr align="center" class="shu">';
echo '<td><input type=checkbox name="hid[]" value="'.$row['h_id'].'" ></td>';
echo '<td>'.$row['hotel_id'].'</td>';
echo '<td>'.date('Y-m-d', strtotime($row['start_date'])).'</td>';
echo '<td>'.date('Y-m-d', strtotime($row['end_date'])).'</td>';
echo '<td>'.$row['content'].'</td>';
echo '<td>'.$row['source'].'</td>';
echo '<td>'.$row['s_type'].'</td>';
echo '<td>'.' <a href="upedit.php?hid='.$row['h_id'].'" >编辑</a> '.'</td>';
echo '</tr>';
}
echo '<input type=submit value="删除所选" onclick="return delconfirm()"></form>';
...全文
208 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
Abin-2008 2010-08-24
  • 打赏
  • 举报
回复
我感觉可以用jquery的排序插件
crazyboy2005 2010-08-24
  • 打赏
  • 举报
回复
地址:http://developer.yahoo.com/yui/examples/datatable/dt_basic.html
美人心计1999 2010-08-24
  • 打赏
  • 举报
回复
后台:houtai.php
<?php
$name=$_POST["username"];
$psw=$_POST["password"];
$arr=array("psw"=>$psw,"name"=>$name);
echo json_encode($arr);
?>
楼主自己下个jquery,导入到文件里就可以用,
dataType: "json",改为
dataType: "html",
返回的就是html格式的,你可以在后台查询出数据,完了之后写一段html代码,用层或者表格吧你的数据组织好,然后echo $html;
在前台就可以实现无刷新了
美人心计1999 2010-08-24
  • 打赏
  • 举报
回复
jquery实现ajax,前台
--------------
<?php
/*
* Created on 2010-7-27
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
?>
<script type="text/javascript" src="wenjian/jquery.js"></script>
<script type="text/javascript">
function CreatePost(){
var password = document.getElementById('password').value;
var username = document.getElementById('username').value;
var params = {username:username,password:password};
return params;
}
var password = document.getElementById('password').value;
var username = document.getElementById('username').value;
function doPost(){
$.ajax({
type: "post",
url: "houtai.php",
data: "username="+document.getElementById('username').value+"&password="+document.getElementById('password').value,
dataType: "json",
success: function(data){
alert(data.name);
alert(data.psw);
var data=data.substring(0,2);
var error= "";
if(data==1){
error ="用户名不存在";
$("#error").html(error);
}else if(data==2){
error ="密码不正确";
$("#error").html(error);
}else if(data==3){
error ="用户名和密码不能为空";
alert(error);
$("#error").html(error);
}else if(data==4){
}

}
});
}

</script>

<input type="text" name="username" id="username" value=""/><div id="error"></div>

<input type="password" name="password" id="password" value=""/>
<input type="button" onclick="doPost()" value="ajax" />




---------------------------------
crazyboy2005 2010-08-24
  • 打赏
  • 举报
回复
用现成的框架吧,yahoo的YUI
phper_cd 2010-08-24
  • 打赏
  • 举报
回复
JS局部刷新肯定是要用ajax的,你只要将传过去的参数做一下判断然后读取数据返回页面再显示,多简单的

只要想出来就差不多都实现了
phpmyxinshou 2010-08-24
  • 打赏
  • 举报
回复
帮帮忙吧 本人在线等
phpmyxinshou 2010-08-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xuzuning 的回复:]
用php当然要刷新页面,不然我问你想用什么方式干嘛
[/Quote]
JS的话有没有实例,参考一下,谢谢
xuzuning 2010-08-24
  • 打赏
  • 举报
回复
用php当然要刷新页面,不然我问你想用什么方式干嘛
phpmyxinshou 2010-08-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 baiyuxiong 的回复:]
用户点的时候调用php,php 操作mysql调用不同的数据库查询语句.order by id asc 或order by id desc.
前台,显示的时候根据后台的排序方式选择合适的图标就行了.

如果你全想用JS实现,不重新刷数据的话,界面上增加数据的时候,按显示顺序给一个递增的ID号,用户点了以后,用JS根据ID号把顺序倒过来,再把图片换一下.
[/Quote]
用PHP能不能,不重新刷数据啊,而且调用PHP的话,是在当前页面显示的么。
codeyell-com 2010-08-24
  • 打赏
  • 举报
回复
用户点的时候调用php,php 操作mysql调用不同的数据库查询语句.order by id asc 或order by id desc.
前台,显示的时候根据后台的排序方式选择合适的图标就行了.

如果你全想用JS实现,不重新刷数据的话,界面上增加数据的时候,按显示顺序给一个递增的ID号,用户点了以后,用JS根据ID号把顺序倒过来,再把图片换一下.
phpmyxinshou 2010-08-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xuzuning 的回复:]
问题在于你想用什么方式实现:
1、js
2、php
[/Quote]
最好还是PHP,JS我不太熟悉
请大侠指教
xuzuning 2010-08-24
  • 打赏
  • 举报
回复
问题在于你想用什么方式实现:
1、js
2、php
phpmyxinshou 2010-08-24
  • 打赏
  • 举报
回复
怎样把固定的内容换成PHP从数据库查询到的内容

<script type="text/javascript">
YAHOO.example.Data = {
bookorders: [
{酒店id:"1", 开始时间:new Date(1980, 2, 24), 结束时间:1, 内容介绍:4, 备注:"A Book About Nothing"},
{酒店id:"2", 开始时间:new Date("January 3, 1983"), 结束时间:null, 内容介绍:12.12345, 备注:"The Meaning of Life"},
{酒店id:"3", 开始时间:new Date(1978, 11, 12), 结束时间:12, 内容介绍:1.25, 备注:"This Book Was Meant to Be Read Aloud"},
{酒店id:"4", 开始时间:new Date("March 11, 1985"), 结束时间:6, 内容介绍:3.5, 备注:"Read Me Twice"}
]
}
</script>
<div id="basic"></div>

<script type="text/javascript">
YAHOO.util.Event.addListener(window, "load", function() {
YAHOO.example.Basic = function() {
var myColumnDefs = [
{key:"酒店id", sortable:true, resizeable:true},
{key:"开始时间", formatter:YAHOO.widget.DataTable.formatDate, sortable:true, sortOptions:{defaultDir:YAHOO.widget.DataTable.CLASS_DESC},resizeable:true},
{key:"结束时间", formatter:YAHOO.widget.DataTable.formatNumber, sortable:true, resizeable:true},
{key:"内容介绍", formatter:YAHOO.widget.DataTable.formatCurrency, sortable:true, resizeable:true},
{key:"备注", sortable:true, resizeable:true}
];

var myDataSource = new YAHOO.util.DataSource(YAHOO.example.Data.bookorders);
myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
myDataSource.responseSchema = {
fields: ["酒店id","开始时间","结束时间","内容介绍","备注"]
};

var myDataTable = new YAHOO.widget.DataTable("basic",
myColumnDefs, myDataSource, {caption:"DataTable Caption"});

return {
oDS: myDataSource,
oDT: myDataTable
};
}();
});
</script>
phpmyxinshou 2010-08-24
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 lishidefeng 的回复:]
支持jQuery
[/Quote]
我下了一个jQuery,我把它放到了文件目录中,然后怎么做啊,我的PHP页面用不用改点什么,请高人们指教
$where = "where 1";
if(!empty($ziduan) && !empty($txt_sousuo)){
$where .= " and $ziduan like '%{$txt_sousuo}%'";
}
$sql = "SELECT count(*) as countnum FROM hotel_activities_2 $where ";
$result=mysql_fetch_array(mysql_query($sql));
$countnum = $result['countnum'];
if(!$countnum) die("<script>alert('查询的数据不存在');window.location='chaxun.php';</script>");

$rowsPerPage=10;
$maxPage=ceil($countnum/$rowsPerPage);
$page=isset($_GET['curPage'])?intval($_GET['curPage']):1;
$page = $page<1?1:$page;
$page = $page>$maxPage?$maxPage:$page;

$start=$rowsPerPage*($page-1);
$sel1 = "SELECT * FROM hotel_activities_2 $where order by h_id limit $start,$rowsPerPage";

echo "<table border=1 width=800 cellspacing=0 style=border-collapse:collapse>";
echo '<tr style=background-image:url(img/new_hader_27.jpg) height=30 class="chaxun_head">'.'
<th>'.'选择'.'</th>';
echo '<th>'.'<a href="#" style="text-decoration: underline;">'.'酒店ID'.'</a>'.'</th>';
echo '<th>'.'<a href="#" style="text-decoration: underline;">'.'开始时间'.'</a>'.'</th>';
echo '<th>'.'<a href="#" style="text-decoration: underline;">'.'结束时间'.'</a>'.'</th>';
echo '<th>'.'内容介绍'.'</th>'.'<th>'.'备注'.'</th>'.'<th>'.'s_type'.'</th>'.'<th>'.'操作'.'</th>'.'</tr>';

$result=mysql_query($sel1) or die("查询失败");
//循环输出表中各个字段值
echo '<form action="delect_sj.php" method=post>';
while ($row = mysql_fetch_array($result)) {
echo '<tr align="center" class="shu">';
echo '<td><input type=checkbox name="hid[]" value="'.$row['h_id'].'" ></td>';
echo '<td>'.$row['hotel_id'].'</td>';
echo '<td>'.date('Y-m-d', strtotime($row['start_date'])).'</td>';
echo '<td>'.date('Y-m-d', strtotime($row['end_date'])).'</td>';
echo '<td>'.$row['content'].'</td>';
echo '<td>'.$row['source'].'</td>';
echo '<td>'.$row['s_type'].'</td>';
echo '<td>'.' <a href="upedit.php?hid='.$row['h_id'].'" >编辑</a> '.'</td>';
echo '</tr>';
}
lishidefeng 2010-08-24
  • 打赏
  • 举报
回复
支持jQuery
phpmyxinshou 2010-08-24
  • 打赏
  • 举报
回复
多谢各位了,我看看
ihefe 2010-08-24
  • 打赏
  • 举报
回复

/*
*demo
*http://dev.sencha.com/deploy/dev/examples/grid/array-grid.html
*/

//extjs 可以到达你的要求,但是不懂JS 学起来花时间费力

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧