目前正在写的是一个在下拉菜单中添加友情链接的程序,用到了phplib的模板类和数据库类。但是我发现到了排序的时候却还不如直接用sql语句简单。
我的思路是这样的,
有一个表单来负责显示现有的网站名。里面有向上和向下两个按钮,点击按钮使得存在数据库的排序值变化(加1或减1),在点了按钮之后,要求在表单中出现新的网站名序列。然后可以进行下一次点击。但是这个过程不能影响整个表单。因为还有网站logo等项没有添加。
现在我能实现在表单中显示出网站的内容,但不知道如何点击进行排序。
还望高手指教。
---------------------------------------------------------------
不是很明白你的意思。
一:点击按钮使得存在数据库的排序值变化(加1或减1)
使用隐藏frame提交,也达到了不影响表单的目的
二:在点了按钮之后,要求在表单中出现新的网站名序列
一种方法:提交成功后,从新从服务器下载下拉菜单数据(参考:http://www.csdn.net/develop/Read_Article.asp?Id=14090)
第二种方法:一开始显示菜单的时候也标记了排序值,在提交成功后
直接用JavaScript把排序值加1,然后在根据排序值的来判断是否要和前一项菜单交换位置
,如果是新加入就直接添加在最后一项即可
---------------------------------------------------------------
我这里有个这样的程序,我贴出来大家一块研究。。
1<html>
2<head>
3<title>分类顺序调整</title>
4<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
5<link href="../images/1.css" rel="stylesheet" type="text/css"/>
6<script language="javascript">
7
8function saveOrder(me){
9me.disabled=true;
10var objForm=me.form;
11var col=document.all("cat_id[]");
12var objSelect=document.all.tags("SELECT")[0];
13for (i=0;i<col.length;i++){
14col.item(i).value=objSelect.options(i).value;
15}
16objForm.action.value='save';
17objForm.submit();
18}
19function moveMenu(flag){
20var objSelect=document.all.tags("SELECT")[0];
21var indexMIN=0;
22var indexMAX=objSelect.length-1;
23var i=objSelect.selectedIndex;
24var objOptions=objSelect.options(i);
25objSelect.remove(i);
26if (flag=='-1'){
27objSelect.add(objOptions,--i);
28}else{
29objSelect.add(objOptions,++i);
30}
31changeButton(objSelect);
32if (objSelect.form.btnSave.disabled){
33objSelect.form.btnSave.disabled=false;
34}
35}
36function changeButton(me){
37var objForm=me.form;
38var indexMIN=0;
39var indexMAX=me.length-1;
40var i=me.selectedIndex;
41objForm.btnUp.disabled=false;
42objForm.btnDown.disabled=false;
43if (i==indexMIN){
44objForm.btnUp.disabled=true;
45}
46if(i==indexMAX){
47objForm.btnDown.disabled=true;
48}
49}
50</script>
51</head>
52<body bgcolor="#f7f7f7" leftmargin="5" text="#000000" topmargin="5">
53<form action="<?=$PHP_SELF?>" method="post" name="">
54<table align="center" border="0" cellpadding="0" cellspacing="0" width="280">
55<tr>
56<td height="15">
57<div align="center">
58<input class="input" disabled="" name="btnUp" onclick="moveMenu('-1')" title="栏目上移" type="button" value="↑"/>
59</div>
60</td>
61<td height="15">
62<div align="center">
63<input class="input" disabled="" name="btnDown" onclick="moveMenu('1')" title="栏目下移" type="button" value="↓"/>
64</div>
65</td>
66<td height="15">
67<div align="center">
68<input class="input" disabled="" name="btnSave" onclick="saveOrder(this)" title="保存对栏目做的修改" type="button" value="保 存"/>
69</div>
70</td>
71<td height="15">
72<div align="center">
73<input class="input" name="exit" onclick="window.close();" type="button" value="退出设置"/>
74</div>
75</td>
76</tr>
77</table>
78<table align="center" border="0" cellpadding="0" cellspacing="0" width="280">
79<tr>
80<td background="<?=$host_url?>/images/member/line160.gif" height="5"></td>
81</tr>
82<tr>
83<td>sss</td>
84</tr>
85<tr>
86<td>
87<select class="input" name="catlist" onchange="changeButton(this)" size="10" style="width:90%;">
88<?
89if($get_cat_count!==0){
90while ($get_cat_result=mysql_fetch_array($get_cat_query)){
91?>
92<option fcatid"];?="" value="<?=$get_cat_result[">"><?=$get_cat_result["fcatname"];?></option>
93<?
94}
95}
96?>
97</select>
98<?
99for ($i=1;$i<=$get_cat_count;$i++){
100?>
101<input name="cat_id[]" type="hidden" value=""/>
102<?
103}
104?>
105<input name="pid" type="hidden" value="<?=$pid?>"/>
106<input name="gid" type="hidden" value="<?=$gid?>"/>
107<input name="action" type="hidden" value=""/>
108</td>
109</tr>
110</table>
111</form>
112</body>
113</html>
表tblwebusercat
字段 类型 属性 Null 默认 额外 操作
fid int(10) 否 auto_increment 更改 删除 主要 索引 唯一 全文搜索
fcatid int(10) 否 0 更改 删除 主要 索引 唯一 全文搜索
fcatname varchar(200) 否 更改 删除 主要 索引 唯一 全文搜索
fcatgid int(2) 否 0 更改 删除 主要 索引 唯一 全文搜索
fcatpid int(10) 否 0 更改 删除 主要 索引 唯一 全文搜索
fusername varchar(30) 否 更改 删除 主要 索引 唯一 全文搜索
forder int(2) 否 100 更改 删除 主要 索引 唯一 全文搜索