byqy
注册会员

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代码问题,都重复了好几遍了。对程序执行是否不利??
我想问下老鸟们。这样的实现是不是很笨??有没新的好的方法,将文件缩小???
谢谢大家!!
附件: 您所在的用户组无法下载或查看附件
|
|