![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
相关问题
我写一个东西,在一个地方需要联合查询!
界面请看附件:
我的意图是,可以通过输入(选择)任一个项目都能够进行查询.并且有部分选择项目可以进行关键词(输入不完整)查询.
比如,我输入"客户姓名"这一拦,那么查询的就是相关客户的内容,
输入"客户姓名"同时选择年份,查询的将是客户在这段时间的情况,以次类推,可以进行客户的年,月,日的查询.
意图说完了,我来说说我的实现方法:
我是使用IF判断的方式来做的.界面那些都是在IF循环下:
CODE: <? $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代码问题,都重复了好几遍了。对程序执行是否不利??
我想问下老鸟们。这样的实现是不是很笨??有没新的好的方法,将文件缩小???
谢谢大家!!

提问者:byqy 08-22 12:12
答复

