喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: [问题] 问一个程序设计的问题,大家看我的做法能不能变简单点!  
 
byqy
注册会员
Rank: 2



UID 83069
精华 0
积分 83
帖子 43
金钱 83 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-11-13
状态 离线
[广告]: q m
问一个程序设计的问题,大家看我的做法能不能变简单点!

我写一个东西,在一个地方需要联合查询!
界面请看附件:

我的意图是,可以通过输入(选择)任一个项目都能够进行查询.并且有部分选择项目可以进行关键词(输入不完整)查询.
比如,我输入"客户姓名"这一拦,那么查询的就是相关客户的内容,
输入"客户姓名"同时选择年份,查询的将是客户在这段时间的情况,以次类推,可以进行客户的年,月,日的查询.
意图说完了,我来说说我的实现方法:
我是使用IF判断的方式来做的.界面那些都是在IF循环下:

<?
$client = $_POST["client"];
$year =  $_POST["year"];
$nonth =  $_POST["month"];
$day =  $_POST["day"];
$myconn =
mysql_select_db()

if (empty($client)&&empty($year)&&empty($month)&&empty($day))
{
?>
//这里是全部都没数据的界面的HTML代码;
<?
exit;
}
if (!empty($client)&&empty($year)&&empty($month)&&empty($day))
{
?>
//这里是当客户不为空,其他为空的HTML界面代码以及实现,我只留下查询的条件部分!
select * from table where client = $client;

<?
exit;
}
if (!empty($client)&&!empty($year)&&empty($month)&&empty($day))
{
?>
//这里是当客户和年份不为空,其他为空的HTML界面代码以及实现,我只留下查询的条件部分!
select * from table where client = $client and left(date,4)='$year' ;

<?
exit;
}
if (!empty($client)&&!empty($year)&&!empty($month)&&empty($day))
{
?>
//这里是当客户和年份、月份不为空,其他为空的HTML界面代码以及实现,我只留下查询的条件部分!
select * from table where client = $client and left(date,7)='$year-month' ;

<?
exit;
}
if (!empty($client)&&!empty($year)&&!empty($month)&&!empty($day))
{
?>
//这里显示全部都不为空的的HTML界面代码以及实现,我只留下查询的条件部分!
select * from table where client = $client and date='$year-month-$day' ;
<?
exit;
}
?>
(我还是菜鸟,还没使用上模板的做法)
但是这样的做法虽然还是可以,但是由于这个界面的HTML代码问题,都重复了好几遍了。对程序执行是否不利??
我想问下老鸟们。这样的实现是不是很笨??有没新的好的方法,将文件缩小???

谢谢大家!!


 附件: 您所在的用户组无法下载或查看附件
2006-11-21 12:25 PM#1
查看资料  发短消息  顶部
 
小傑
版主
Rank: 7Rank: 7Rank: 7



UID 74113
精华 0
积分 4304
帖子 421
金钱 4304 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2006-5-26
状态 在线
[推荐阅读] 我可怎么办???!!!!
反if 换成 swich case
2006-11-21 12:29 PM#2
查看资料  Blog  发短消息  顶部
 
byqy
注册会员
Rank: 2



UID 83069
精华 0
积分 83
帖子 43
金钱 83 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-11-13
状态 离线
[推荐阅读] Word文档 => FCKeditor 不能正常保存
我也想过,但是有没好办法让重复做的HTML内容不再做。这样减少文件大小。

这个个SWITH还是要使用重复的HTML
2006-11-21 12:30 PM#3
查看资料  发短消息  顶部
 
小傑
版主
Rank: 7Rank: 7Rank: 7



UID 74113
精华 0
积分 4304
帖子 421
金钱 4304 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2006-5-26
状态 在线
[推荐阅读] 问题究竟出在哪里?
那就并成一句SQL

$date=$year."-".$month."-".$day

sql_str="select * table where client like '%$client%' and  left(date,7) like '%$date%'"
2006-11-21 12:34 PM#4
查看资料  Blog  发短消息  顶部
 
blue1225
新手上路
Rank: 1



UID 74179
精华 0
积分 24
帖子 19
金钱 24 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2006-5-28
状态 离线
[推荐阅读] 普通索引和全文索引有什么区别?
$condition="1";
if(!empty($a))
     $condition.=" and ...";
if(!empty($b))
     $condition.=" and ...";
....
$sql="select ... where ".$condition." ...";
2006-11-21 02:22 PM#5
查看资料  发短消息  顶部
 
byqy
注册会员
Rank: 2



UID 83069
精华 0
积分 83
帖子 43
金钱 83 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-11-13
状态 离线
[推荐阅读] 村里的兄弟们,指点一下这个功能怎么实现
厉害!!受教了!谢谢
2006-11-21 03:27 PM#6
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.022975 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP