您好,欢迎访问一九零五行业门户网

如何通过列表中某一个属性来显示具有相同属性的内容

这是我的课题列表,我的课题列表中有一列是“状态”来显示“可选”或“不可选”的。目前列表显示的是所有可选和不可选的内容。我想添加一个功能,就是通过点击“可选”后,系统自动调用数据库中状态为“可选”的内容;点击“不可选”后,系统又能自动调用数据库中状态为“不可选”的内容。
课题列表 课题编号
课题名称
指导教师
职称
可选人数
选题情况
状态
详细资料

回复讨论(解决方案) 功能类似你的查看,点击之后弄一个链接,然后把id传过去,update该条记录。
加个select框,监听onchange 事件,然后form提交实现过滤记录。
加个select框,监听onchange 事件,然后form提交实现过滤记录。 能简单地帮我写出一些关键的代码吗?
不可选
可选
$where=isset($_post['surplus']) ? where surplus=.$_post['surplus'] : '';
$query=mysql_query(select * from jiaoshi $where order by id asc limit $offset,$list_num) or die (fail);
我的列表是这样的 我想直接点击列表上的“可选”,然后列表筛选数据库表后显示所有可选课程,这样的话我应该怎么办呢?
课题编号
课题名称
指导教师
职称
可选人数
选题情况
状态
详细资料
$where=($_post['surplus']==) ? '' : where surplus=.$_post['surplus'] ;
$query=mysql_query(select * from jiaoshi $where order by id asc limit $offset,$list_num) or die (fail);
$where=($_post['surplus']==) ? '' : where surplus=.$_post['surplus'] ;
$query=mysql_query(select * from jiaoshi $where order by id asc limit $offset,$list_num) or die (fail); 我按你给我的第一种方法写的,但是系统提示错误undefined index: surplus 在第46行。 课题列表 不可选 可选 课题编号
课题名称
指导教师
职称
可选人数
选题情况
状态
详细资料

46 行的 $where=($_post['surplus']==) ? '' : where surplus=.$_post['surplus'] ;
应写作 $where=(isset($surplus)) ? '' : where surplus='$surplus';
原因是 37 的 extract($_request); 已经将外来的变量导入到变量表中了
所以不再需要从 $_post 中读取,何况也不一定是 post 方式传入的
extract这个函数生成的变量应该还是局部变量吧
46 行的 $where=($_post['surplus']==) ? '' : where surplus=.$_post['surplus'] ;
应写作 $where=(isset($surplus)) ? '' : where surplus='$surplus';
原因是 37 的 extract($_request); 已经将外来的变量导入到变量表中了
所以不再需要从 $_post 中读取,何况也不一定是 post 方式传入的 我修改后系统提示又变成undefined variable: surplus 在46行。还有就是,您给看看我这种方法能实现点“可选”实现列表显示所有可选的内容不?
不好意思,写反了!
应该这样:
$where = (! isset($surplus)) ? '' : where surplus='$surplus';

不好意思,写反了!
应该这样:
$where = (! isset($surplus)) ? '' : where surplus='$surplus';

嗯,这下没有错误了,嘿嘿。但是那个可选不可选功能仍然没有实现,我应该再怎么修改下呢? 课题列表 不可选 可选 课题编号
课题名称
指导教师
职称
可选人数
选题情况
状态
详细资料

贴出截图中的下拉列表的代码
贴出截图中的下拉列表的代码 第18-24行 不可选 可选
那不是都有了,还要什么?
那不是都有了,还要什么? 但是当我选择“可选”后,列表还是显示的全部可选和不可选的内容,并没有分类……
$query=mysql_query(select * from jiaoshi $where order by id asc limit $offset,$list_num) or die (fail);
$query=mysql_query(select * from jiaoshi $where order by id asc limit $offset,$list_num) or die (fail); 那我应该把这两句放在哪呢? $where = (! isset($surplus)) ? '' : where surplus='$surplus';$query=mysql_query(select * from jiaoshi $where order by id asc limit $offset,$list_num) or die (fail);
原来的位置就可以啊
原来的位置就可以啊 嗯,我照你说的那样改了,但是跟原来一样。我点“可选”后,内容不变,而且立即弹回“不可选”
可选
改为:
可选
但是内容应该有变化了才对啊
可选
改为:
可选
但是内容应该有变化了才对啊 不好意思我看错了,内容确实是有变化了,他把第一页的不可选的内容全部筛选掉了,但是我点下一页,它又显示的混合的可选和不可选的内容?
print 上一页 ;}
if(($pages!=0)&&(($newoffset/$list_num)!=$pages))
{
print(下一页 );
}
$where = (! isset($surplus)) ? '' : where surplus='$surplus';
这句改为:
$where = (isset($surplus) && strlen($surplus)>0) ? where surplus='$surplus' : '';
这是我改完后的,点可选后每一页都是可选了,就是有一点小问题,它提示第90行有一个未定义的变量 undefined variable: surplus这是怎么回事呢? 课题列表 不可选 可选 课题编号
课题名称
指导教师
职称
可选人数
选题情况
状态
详细资料
0) ? where surplus='$surplus' : ''; $query=mysql_query(select * from keti $where order by id asc limit $offset,$list_num) or die (fail); mysql_query(set names 'gb2312'); while($row=mysql_fetch_array($query)){ if(($n%2)!='0'){ echo ;} else{ echo ; } if($row['surplus']==0) $ss=不可选; else $ss=可选; echo .$row['id'].
.$row['subject'].
.$row['teacher'].
.$row['zhicheng'].
.$row['number'].
.$row['xuehao'].
.$ss.
查看
; $n++; } ?>

$surplus 只在选择了下拉框后才会有
你需要在 37 行前为 $surplus 赋初值
或在 90 行做条件判断
都在做毕设了,怎么连基本常识都不知道?
$surplus 只在选择了下拉框后才会有
你需要在 37 行前为 $surplus 赋初值
或在 90 行做条件判断
都在做毕设了,怎么连基本常识都不知道?
唉,惭愧惭愧,身为这个专业的人也没有为这个专业发光发热,尽拖后腿了……
那我在第37行给surplus赋个什么值呢 $surplus=?;
话说版主你今天终于理我了,那我就厚着脸皮再问你个问题,当我点“可选”后,列表下边的
还是显示的所有“可选”和“不可选”的总记录和总页数,怎么能让它显示成我点完“可选”后的记录和页数?
$surplus = ''; 就可以。
你的总记录数和总页数是通过
$query=mysql_query(select count(*) as sm from jiaoshi);
这句算出来的 ,你需要将where条件也加入进去
给surplus赋个什么值呢
赋什么值都不合适!
只要一赋值,就变成条件查询了
也就是一开始的 可选和不可选 共存的情况就没有了
这是你的数据组织有问题而造成的
计算总记录和总页数应放在 46 行以后进行
你们太伟大了。我还以为只说一下思路,居然hmtl都出来了。
$surplus = ''; 就可以。
你的总记录数和总页数是通过
$query=mysql_query(select count(*) as sm from jiaoshi);
这句算出来的 ,你需要将where条件也加入进去 那这样写对吗? $query=mysql_query(select count(*) as sm from jiaoshi where surplus=$surplus);
$surplus = ''; 就可以。
你的总记录数和总页数是通过
$query=mysql_query(select count(*) as sm from jiaoshi);
这句算出来的 ,你需要将where条件也加入进去 还有一个问题,为什么点“不可选”的时候内容没有变化?
将下面几行放在$where 的下面就可以了
$query=mysql_query(select count(*) as sm from keti);
mysql_query(set names 'gb2312');
$row=mysql_fetch_array($query);
$count=$row['sm'];
将下面几行放在$where 的下面就可以了
$query=mysql_query(select count(*) as sm from keti);
mysql_query(set names 'gb2312');
$row=mysql_fetch_array($query);
$count=$row['sm']; 如果加上这句的话“可选”功能就失效了,我就先把它注释掉了。 $surplus='';
这是我最新修改的,把那几句换了位置后总记录数和总页数没什么变化。 课题列表 不可选 可选 课题编号
课题名称
指导教师
职称
可选人数
选题情况
状态
详细资料
0) ? where surplus='$surplus' : ''; $query=mysql_query(select count(*) as sm from keti); mysql_query(set names 'gb2312'); $row=mysql_fetch_array($query); $count=$row['sm']; $query=mysql_query(select count(*) as sm from keti); mysql_query(set names 'gb2312'); $row=mysql_fetch_array($query); $count=$row['sm']; $query=mysql_query(select * from keti $where order by id asc limit $offset,$list_num) or die (fail); mysql_query(set names 'gb2312'); while($row=mysql_fetch_array($query)){ if(($n%2)!='0'){ echo ;} else{ echo ; } if($row['surplus']==0) $ss=不可选; else $ss=可选; echo .$row['id'].
.$row['subject'].
.$row['teacher'].
.$row['zhicheng'].
.$row['number'].
.$row['xuehao'].
.$ss.
查看
; $n++; } ?>

$surplus=''; //放在这个位置
extract($_request);
$query=mysql_query(select count(*) as sm from keti $where);
这是我最新的代码,仍然无法实现的功能就是,它无法计算点击“可选”后的总条数和总页数。 课题列表 不可选 可选 课题编号
课题名称
指导教师
职称
可选人数
选题情况
状态
详细资料
0) ? where surplus='$surplus' : ''; $query=mysql_query(select count(*) as sm from keti $where); mysql_query(set names 'gb2312'); $row=mysql_fetch_array($query); $count=$row['sm']; $query=mysql_query(select count(*) as sm from keti); mysql_query(set names 'gb2312'); $row=mysql_fetch_array($query); $count=$row['sm']; $query=mysql_query(select * from keti $where order by id asc limit $offset,$list_num) or die (fail); mysql_query(set names 'gb2312'); while($row=mysql_fetch_array($query)){ if(($n%2)!='0'){ echo ;} else{ echo ; } if($row['surplus']==0) $ss=不可选; else $ss=可选; echo .$row['id'].
.$row['subject'].
.$row['teacher'].
.$row['zhicheng'].
.$row['number'].
.$row['xuehao'].
.$ss.
查看
; $n++; } ?>

44 到 56 行改成
  mysql_query(set names 'gb2312');
  $where = (isset($surplus) && strlen($surplus)>0) ?  where surplus='$surplus' : ''; 
  $query=mysql_query(select count(*) as sm from keti $where);
  $row=mysql_fetch_array($query);
  $count=$row['sm']; //总记录数
$query=mysql_query(select * from keti $where order by id asc limit $offset,$list_num) or die (fail);
44 到 56 行改成
  mysql_query(set names 'gb2312');
  $where = (isset($surplus) && strlen($surplus)>0) ?  where surplus='$surplus' : ''; 
  $query=mysql_query(select count(*) as sm from keti $where);
  $row=mysql_fetch_array($query);
  $count=$row['sm']; //总记录数
$query=mysql_query(select * from keti $where order by id asc limit $offset,$list_num) or die (fail); 可以计算了!太好了,这样改不会影响其他的内容吧?
44 到 56 行改成
  mysql_query(set names 'gb2312');
  $where = (isset($surplus) && strlen($surplus)>0) ?  where surplus='$surplus' : ''; 
  $query=mysql_query(select count(*) as sm from keti $where);
  $row=mysql_fetch_array($query);
  $count=$row['sm']; //总记录数
$query=mysql_query(select * from keti $where order by id asc limit $offset,$list_num) or die (fail); 还有一个小问题,我一点“可选”,内容可以正常显示,但是“可选”和“不可选”的form表单里就弹回到不可选了?like this
点“可选”后,又弹回不可选。
>不可选
   >可选
&nbs
其它类似信息

推荐信息